C语言getchar问题

[复制链接]
查看11 | 回复5 | 2009-8-1 16:59:00 | 显示全部楼层 |阅读模式
帮你回答 #includeint main(void){char c;char a;char b;a = getchar();getchar();//存储回车键 因为回车键也是一个字符,如果没有这个的话,那么他就将第二个字符b存储成回车b = getchar();getchar(); //存储回车键 printf ("%c%c\n",a,b); while ((c = getchar()) != '\n'){printf("%c", c);}return 0; }...
回复

使用道具 举报

千问 | 2009-8-1 16:59:00 | 显示全部楼层
因为你每次执行一个循环,都需要你从键盘里输入一个字符,然后判断输入的字符是否为回车。。。每循环一次就要停下来等你输入,当然不会执行循环了。。。。...
回复

使用道具 举报

千问 | 2009-8-1 16:59:00 | 显示全部楼层
c是从用户输入出获得字符,如果不敲回车,它就不会终止。还有个就是 return 0; 上面 的 getchar() 写成 getch()了你可以 将 printf("%c",c);改成printf("%s",c);放在 while循环 外面,就可以输出你输入的 字符串了~...
回复

使用道具 举报

千问 | 2009-8-1 16:59:00 | 显示全部楼层
其实你已经执行了while了的 因为getchar()只接收一个字符 估计你习惯是用回车做结束标志 所以才会有这样的问题 你试一下打多几个字符就可以看出来啦...
回复

使用道具 举报

千问 | 2009-8-1 16:59:00 | 显示全部楼层
我在vs上帮你运行了一下,可以执行啊。注意:1)加头文件#include
2) 当你从控制台输入结束时,最后要输入一个回车符,而这个回车符也会被getchar()函数吃掉,记录在变量中。我的输入:a \n输出
a \n接着进入循环: abcdefg \n输出:
abcdefg \n...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行