无法从 c 中的标准输入打印 char 数组

Cannot print char array from stdin in c

我正在尝试从标准输入中读入,然后打印每个字符串中的每个字符,但由于某种原因它不会打印任何内容...

#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...

注意缺少“;”在循环体之前。

您代码中的循环体是空的,因为它只是一个分号。 您打算作为循环主体的部分仅在之后执行一次。在那一次执行期间,您只是在字符串末尾打印空字符。