| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 924 人关注过本帖
标题:为什么结果是 1,新人求助
只看楼主 加入收藏
q877698700
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2014-8-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
为什么结果是 1,新人求助
int  m,u;
  int  s=1;
  scanf("%d,%d\n",&m,&u);
  if(m<u)
  {
  for(m;m<=u;m++)
      s=s*m;
  }
2014-08-05 16:28
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
天知道

DO IT YOURSELF !
2014-08-05 16:49
zhuyun0226
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2014-8-5
收藏
得分:2 
你的scanf是什么意思,你的m和u没有具体的数值,怎么用if?肯定就直接输出赋值的s=1了!
2014-08-05 16:58
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:2 
scanf   里面有 \n     这样输入正确吗?

如果在输入正常的情况下,s不一定为1

三十年河东,三十年河西,莫欺少年穷!
2014-08-05 17:34
zj735534
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2014-7-25
收藏
得分:2 
你这个scanf写的,里面的%d,%d逗号不能用\n更不能用,用了你也要用键盘敲出来。结果看你的输入,比如我输入1 和5 结果是120.

[ 本帖最后由 zj735534 于 2014-8-5 23:17 编辑 ]
2014-08-05 23:14
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
收藏
得分:2 
如果是scanf("%d,%d\n",&m,&u)在运行时输入应该是原样输入,如2,4\n
你可以试试。

[ 本帖最后由 乖乖0943 于 2014-8-6 14:25 编辑 ]
2014-08-06 13:26
Hiker°
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2014-8-6
收藏
得分:2 
scanf里不能有\n
for语句的一般形式是for(表达式1;表达式2;表达式3)
貌似你没有给循环变量m赋初值啊
2014-08-06 20:18
imlwg
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2014-8-5
收藏
得分:2 
回复 楼主 q877698700
除了scanf中的\n外,程序应该能编译成功,输入时没有提示,自己大概知道该输入了。还有输入的俩数大小分顺序,前面数小的话程序for语句能执行,如果前面的数大于后面的就不会执行for语句了。如果有输出的话就会输出原来的值1,应该是这样理解吧。
2014-08-08 21:53
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:2 
回复 8 楼 imlwg
差不多
2014-08-08 22:23
liu122430950
Rank: 4
等 级:业余侠客
威 望:1
帖 子:45
专家分:211
注 册:2010-5-30
收藏
得分:2 
赞同2楼,你的问题描述不清楚。
2014-08-11 08:06
快速回复:为什么结果是 1,新人求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017337 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved