悉远

 找回密码
 注册
搜索
查看: 1914|回复: 6

不知为什么

[复制链接]
发表于 2010-11-30 05:08:06 | 显示全部楼层 |阅读模式
#include?#include?int?main(int?argc,?char?*argv[]){??int?m,n;??char?s='g';??srand((int)time(0));??while(1){??scanf("%c",&s);??m=rand()%6+1;????n=rand()%6+1;??printf("the?number?of?computer?is%d\n",m);??????printf("you?number?is%d\n",n);??if(n#include?int?main(int?argc,?char?*argv[]){??int?m,n;??char?s='g';??srand((int)time(0));??while(1){??scanf("%c",&s);??m=rand()%6+1;????n=rand()%6+1;??printf("the?number?of?computer?is%d\n",m);??????printf("you?number?is%d\n",n);??if(n#include?int?main(int?argc,?char?*argv[]){??int?m,n;??char?s='g';??srand((int)time(0));??while(1){??scanf("%c",&s);??m=rand()%6+1;????n=rand()%6+1;??printf("the?number?of?computer?is%d\n",m);??????printf("you?number?is%d\n",n);??if(n?
发表于 2010-11-30 09:41:41 | 显示全部楼层

RE:不知为什么

楼主需要了解一下scanf的相关知识。scanf默认情况下是以“行”为单位的。也就是说,一旦调用了scanf函数,必须要遇到换行,才会返回,然后程序才继续执行(当然,遇到错误、遇到输入结束,scanf也会返回,但我们暂时不讨论这个)。如果程序执行到scanf("%c",&s);,此时你输入a,然后按回车键,实际上输入了两个字符。第一个是字符a,第二个是换行符。这样一来,程序就会循环两次。如果你输入ab,然后按回车键,则实际上输入了三个字符。第一个是a,第二个是b,第三个是换行符。这样一来,程序就会循环三次。?
回复

使用道具 举报

发表于 2010-11-30 14:15:16 | 显示全部楼层

RE:不知为什么

#include?#include?#include?int?main(int?argc,?char?*argv[]){????int?m,n;????char?s='g';????srand((int)time(0));????while(1)????{????????scanf("%c",&s);????????fflush(stdin);????????m=rand()%6+1;????????????????n=rand()%6+1;????????printf("the?number?of?computer?is%d\n",m);????????????????????????printf("you?number?is%d\n",n);????????if(n头文件没有报错?fflush(stdin);清空缓冲区,这样就好了。scanf用法,专家级人物已经回答了。我也受益了。?
回复

使用道具 举报

发表于 2010-11-30 18:48:51 | 显示全部楼层

RE:不知为什么

fflush(stdin);不要这样用。很多书、很多人都指出,这个用法是不对的。cfj469933485可以看看这方面的资料。参考链接:http://stdcpp.cn/html/3/3/0510/6.htm?
回复

使用道具 举报

发表于 2010-12-1 03:56:02 | 显示全部楼层

RE:不知为什么

谢谢两位,我没学过,3楼的http://stdcpp.cn/html/3/3/0510/6.htm我也看不懂啊!大概是太菜了。我们老师怎么没提呢?eastcowboy大哥能具体讲讲不??
回复

使用道具 举报

发表于 2010-12-1 13:03:12 | 显示全部楼层

RE:不知为什么

感谢eastcowboy,让新手的我又受益匪浅了。以后我得注意fflush了,呵呵!?
回复

使用道具 举报

发表于 2010-12-1 17:36:47 | 显示全部楼层

RE:不知为什么

学习了!?
回复

使用道具 举报

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

本版积分规则

QQ|QQ客服|联系我们|Archiver|手机版|小黑屋|悉远网络 ( 鄂ICP备09013446号 )

GMT+8, 2024-5-3 21:38 , Processed in 0.036851 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表