neil123 发表于 2017-5-4 21:26:31

求帮助

#include <stdio.h>

int main()
{
      int count = 0;

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

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

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

      return 0;
}

为什么输入的句子不需要用scanf来装。

影乖 发表于 2017-5-4 21:44:02

getchar是输入一个字符

长渊 发表于 2017-5-4 23:03:45

本帖最后由 长渊 于 2017-5-4 23:06 编辑

while (getchar() != '\n')
      {
                count = count + 1;
      }
循环用getchar依次获取字符 然后计数    直到转行符    不用scanf因为只是累加有多少个字符   并没有要使用输入字符串本身

当回首遇上转身 发表于 2017-5-5 15:34:57

本帖最后由 当回首遇上转身 于 2017-5-5 15:37 编辑

你这个程序是用getchar()逐个读取屏幕上(缓冲区)的字符直到'/n'(或者回车)为止,用count进行读取次数的计数
并不需要存储输入的字符串

getchar()具体用法请看
http://baike.so.com/doc/4320857-4525179.html

听说百科和问题更配哦
页: [1]
查看完整版本: 求帮助