无法从c中的stdin打印char数组

时间:2015-05-23 02:33:43

标签: c char

我试图从stdin读入然后从每个字符串中打印每个字符,但由于某种原因它不会打印任何内容......

#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;
}

1 个答案:

答案 0 :(得分:0)

你有一个无关的分号。

试试这个:

...
for(i=0;i<strlen(string);i++){
    for...

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

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