我试图从标准输入读入,然后打印每个字符串中的每个字符,但由于某种原因它不会打印任何内容......
#include <stdio.h>
#include <string.h>
int main(void){
int i;
char string[10];
while (fgets(string,10,stdin)!=NULL){
for(i=0;i<strlen(string);i++);{
printf("%c",string[i]);
}
strcpy(string,"");
}
return 0;
}
最佳答案
您有一个无关的分号。
试试这个:
...
for(i=0;i<strlen(string);i++){
for...
注意缺少“;”在循环体之前。
代码中循环体是空的,因为它只是一个分号。 您打算作为循环体的部分仅在之后执行一次。在那一次执行期间,您只是打印字符串末尾的空字符。
关于无法从 c 中的 stdin 打印 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408312/