c语言问题

平平无奇的隐藏的粒子 2018-02-20 11:45:41
#include<stdio.h>
int main()
{
getchar();
char c;
c=getchar();
printf("%c\n",c);
printf("123\n");
}
...全文
800 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2018-02-22
  • 打赏
  • 举报
回复
第一个getchar()若是接收了一个除换行符之外的字符,那么第二个getchar()就接收了一个换行符,因为输入缓冲区是属于行缓冲,即只有输入换行符才会将输入缓冲区里的数据刷到内存里,而输入回车后,换行符也会残留在内存里,此时第二个getchar()就接收了这个换行符,所以输出的是一个空行和123 解决办法是:要么去掉第一个getchar();要么第一个输入直接输入一个换行符,再次输入有效字符;
  • 打赏
  • 举报
回复
想要什么结果...
  • 打赏
  • 举报
回复
编译没有问题,运行不出想要的结果怎么办???

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧