qq_43412960
qq_43412960
采纳率79.1%
2019-10-21 21:24 阅读 312

这是一个关于C语言getchar的问题

5
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()

{ getchar();

 char  c=getchar();
  char  cc=getchar();

  char  ccc=getchar();
    char  cc1=getchar();
      char  c2c=getchar();



system("pause");


return 0;
}

我输入了6个getchar(),输入内容为:
图片说明
输入了四个数,然后程序就结束了。我比较奇怪,输入6次getchar程序应该能一共输入6个数把

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    qq_40981822 KI4EVER 2019-10-21 21:43

    getchar()每次只会读入一个字符。
    按照你的 22 3 4进行输入的话
    可知开头的第一个getchar()把22中的第一个字符2给读入了,然后常量c的值就为22中的第二个字符2的ASCII码值
    从22到3你按了一下回车,所以cc的值是换行符的ASCII码值
    然后你输入的3就被ccc这行的getchar()读入,ccc的值就为字符3的ASCII码值
    从3到4又按了回车,cc1的值也是换行符的ASCII码值
    然后你输入的4就被c2c这行的getchar()读入,c2c的值就为字符4的ASCII码值
    然后就到system("PAUSE")了

    点赞 1 评论 复制链接分享
  • gMail2b gMail2b 2019-10-21 21:52

    Enter 也是 特殊 char.

    int getchar(void)
    

    从标准输入中获取一个字符,包含空格、Tab、Enter

    点赞 2 评论 复制链接分享

相关推荐