Jaya-33 发表于 2021-1-14 17:03:04

关于getchar函数

#include <stdio.h>

int main()
{
      int count = 0;

      printf("请随意一个英文句子:");

      while (getchar() != '\n')
      {
                count = count + 1;
      }

      printf("你总共输入了%d个字符!\n", count);

      return 0;
}
想知道为什么我这个代码运行时无论输入什么,都给我显示总共输入一个字符?

昨非 发表于 2021-1-14 17:07:33

计数没问题啊
你是不是输入的时候搞错了?
请随意一个英文句子:abcdefg
你总共输入了7个字符!

风过无痕1989 发表于 2021-1-14 18:20:30

while (getchar() != '\n')这句语句意思是只要不接收到回车键就循环。所以,这个程序没有问题,你应该是输入了一个字符就按回车键了,才只输出一个字符

WindyJane 发表于 2021-1-14 18:25:40

楼主,我亲测linux unix windows VS Dev-C++试过了,没问题哦.当然不排除个别编译器可能会出现getchar完会加\n, 还有就是操作问题:输入字符串的时候应该是"flsadjfljdsalf "连续输入然后按ENTER ,而不是'a' -ENTER 然后再想加入字符,因为:ENTER='\n'

superlion 发表于 2021-1-16 16:26:50

没发现问题,你的机器好奇怪。

心驰神往 发表于 2021-1-16 16:35:53

奇怪的问题

记得笑啊 发表于 2021-1-16 21:14:52

我试的也没问题
页: [1]
查看完整版本: 关于getchar函数