永发信息网

getchar()每次按回车回出现一个数字10

答案:2  悬赏:70  手机版
解决时间 2021-03-14 12:25
  • 提问者网友:像風在裏
  • 2021-03-14 01:45
int main(int argc, const char * argv[]) {

@autoreleasepool {

char ch;

while ((ch = getchar()) != '#') {

printf("%c%d",ch,ch);

}

}

return 0;

}
麻烦老师们帮我看一下,每次输入字母之后,数字和asc码会正常显示,但是总会在下一行多出一个10,不知道是怎么回事。
a

a97

10
当我输入a,就会多出一个10
最佳答案
  • 五星知识达人网友:一秋
  • 2021-03-14 02:37
Xcode不错呀,兼容C语言,还有很多索引。

给你解释一下,我猜想你输入的时候是a然后回车是吧。getchar函数是从系统缓冲区读入一个字符,当你输入a然后回车后,缓冲区中有两个字符,一个是a,一个是回车。getchar先读入a,输出完之后,getchar继续从缓冲区读入回车字符并打印。 以后输入还是以#结束吧。
全部回答
  • 1楼网友:旧脸谱
  • 2021-03-14 03:53
回车也是一个,而它在ascll里就对应的就是10,所以你按照十进制输出的时候,他就显示的是10. 满意请采纳楼主,任何一个字符都是有ascll码的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯