为什么我的getchar()未执行?

cs_zj 2003-10-20 02:17:59
我的程序如下:
#include "stdio.h"
main()
{
char c[10],cc,ccc[10];
printf("Please input the c:");
scanf("%s",c);
printf("\nPlease input the cc:");
cc=getchar(); /*这一行未执行。*/
printf("\nPlease input the ccc:");
scanf("%s",ccc);
}
问题是:我的getchar()函数没有执行,不知道怎么回事?
...全文
657 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs_zj 2003-10-20
  • 打赏
  • 举报
回复
多谢,加个getchar();就好了。
我用的是TC2,是编译器的原因吗?
killua1213 2003-10-20
  • 打赏
  • 举报
回复
就是第一位兄台说的这个原因。用2个getchar()就行了,不过不了解的人看程序起来会不明白。
caonimabi 2003-10-20
  • 打赏
  • 举报
回复 1
原因就是,你输入时有其他符号或是\n等已经在内存中了
因此getchar()会捕获这些字符,因此根本不需你输入,
你在第一个sanf()后加一个getchar()试一下
fierygnu 2003-10-20
  • 打赏
  • 举报
回复
也可以在getchar之前加fflush(stdin);
limd 2003-10-20
  • 打赏
  • 举报
回复
是的,楼上说的对,要不,你再加一个getchar()吧
daizh 2003-10-20
  • 打赏
  • 举报
回复
是scanf("%s",c);造成的,它执行后,有一个'\n'在输出流中,这样就被cc=getchar();捕获,而继续执行下面的语句了。你可以单步调试就发现原因了。

69,337

社区成员

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

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