站点公告:
微信公众号liuprogramme

易牛网 主页 编程 服务器技术Linux/unix

C程序“scanf("%c",&tag);”被忽略

简介
本帖最后由 寻路行者 于 2009-10-17 19:13 编辑 这是本人写的一个猜数程序,编译运行发现了一个问题,当猜数猜错的时候,“scanf("%c",&tag);”语句没有被运行,循环体直接退出。自己找了很久,也测试过, ...
[i=s] 本帖最后由 寻路行者 于 2009-10-17 19:13 编辑

这是本人写的一个猜数程序,编译运行发现了一个问题,当猜数猜错的时候,“scanf("%c",&tag);”语句没有被运行,循环体直接退出。自己找了很久,也测试过,也修改过,就是“scanf("%c",&tag);”不能运行。把它修改为“tag=getchar();”语句,同样是不能运行。在“scanf("%c",&tag);”语句上方和下方各添加一条“printf("%cn",tag);”语句,只有上方的“printf("%cn",tag);”语句打印出“y”,下方的没有打印出什么结果。把“scanf("%c",&tag);”语句换为“tag='y';”语句,循环体能循环运行,直到猜对数字才能退出循环体。想来想去,始终找不出问题出在哪。以下是源代码。希望得到大家的指点!
/**************************************************************/
#include
#include
#include

int fun_num(void);

int main(void)
{
char tag='y';
int g_num;
while(tag=='y')
{
printf("Please Input Your Guessing Number(0-9):n");
scanf("%d",&g_num);
if(g_num==fun_num())
{
printf("Congratulations!n");
break;
}
else
{
printf("You are so unlucky!n");
printf("Do you want to try again?(y/n)n");
scanf("%c",&tag);
}
}
return 0;
exit(0);
}

int fun_num(void)
{
int no;
srand(time(NULL));
no=rand()%10;
return no;
}
/**************************************************************/
程序运行的结果:


收藏 邀请

鲜花

握手

雷人

路过

鸡蛋

精彩阅读

精选资讯

推荐资讯

广告位

扫描二维码下载客户端

扫描,关注官方微信

联系我们

1399-7632910

24小时服务热线
客服QQ:834713287
市场部电话:13997632910

Archiver|手机版|小黑屋|Eaniu. ( 鄂ICP备17026225号 )

Powered by 易牛网 X3.4© 2016-2017 易牛门户 鄂ICP备17026225号 增值电信业务经营许可证:苏B2-20120251 公安机关备案号:苏32058202010001号 | 互联网新闻信息服务许可证编号:1312006002