我想在文本字符串的末尾添加文本.我的代码下面的任何想法都不起作用?
#includeint main() { char text[20]; int i; printf("Enter a text\n"); scanf("%s", &text); printf("\n\n"); for (i = 0; i < strlen(text); i++) { printf("%c", text[i]); if (text[i] == '\0') { //There seems to be something wrong with '\0' printf("This is the end of this string"); } } return(0); }
artm.. 6
两个问题:
scanf("%s", &text);
应scanf("%19s", text);
作为text
已经是字符数组的地址.这19
是为了确保输入适合text
缓冲区,为\0
角色留出至少一个空格.
在使用时strlen
,您需要正确的标题
并且正如BLUEPIXY指出的那样if (text[i] == '\0')
永远不会是因为strlen
不包括\0
角色.
两个问题:
scanf("%s", &text);
应scanf("%19s", text);
作为text
已经是字符数组的地址.这19
是为了确保输入适合text
缓冲区,为\0
角色留出至少一个空格.
在使用时strlen
,您需要正确的标题
并且正如BLUEPIXY指出的那样if (text[i] == '\0')
永远不会是因为strlen
不包括\0
角色.