wmw暗 发表于 2017-9-27 23:11:54

为什么不管我输入多少个字母结果都是1

#include<stdio.h>
void main()
{
        int n=0;
        printf("请输入一行字符:\n");
        while(getchar()!='\n');
        {
                n++;
        }
        printf("%d\n",n);
}

小甲鱼 发表于 2017-9-27 23:51:26

因为你在 while 语句的条件后面多写了一个分号(;)

while(getchar()!='\n');
这样你的代码就相当于:

#include<stdio.h>

int main(void)
{
      int n=0;

      printf("请输入一行字符:\n");

      while(getchar()!='\n')
                ;

      {
                n++;
      }
      printf("%d\n",n);
}

wmw暗 发表于 2017-9-28 21:19:36

小甲鱼 发表于 2017-9-27 23:51
因为你在 while 语句的条件后面多写了一个分号(;)




谢谢小甲鱼老师{:5_108:}
页: [1]
查看完整版本: 为什么不管我输入多少个字母结果都是1