严凯 发表于 2020-11-17 14:23:33

超简单问题求助

#include <stdio.h>

int main()
{
      int ch, count = 0;

      printf("请输入一行英文句子:");

      while ((ch = getchar()) != '\n')
      {
                if (ch >= 'A' && ch <= 'Z')
                {
                        count = count + 1;
                }
      }

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

      return 0;
}

//这个代码,为什么我都没有用scanf语句,但是还是可以输入语句,还是可以正常运行?

a327190489 发表于 2020-11-17 14:27:35

因为getchar()函数就是从键盘上获取字符

rt3 发表于 2020-11-17 14:28:31

while ((ch = getchar()) != '\n')
      {
      }
这一段的意思 是 接收用户输入的字符并 将其 赋值给 ch,然后 执行 语句块内的语句。直到 接收到 换行符'\n',while循环才会结束
页: [1]
查看完整版本: 超简单问题求助