C++,为什么这段代码执行后没有输出值?

[复制链接]
查看11 | 回复4 | 2013-7-29 11:11:36 | 显示全部楼层 |阅读模式
#includeusing namespace std;main(){ int a,b=1,c=1;cin>>a;for(;b<=a;b++) c=c*b; cout<<c<<endl; return 0;} for循环里面位置错了...
回复

使用道具 举报

千问 | 2013-7-29 11:11:36 | 显示全部楼层
for(b<=a;;b++) 此句是死循环,永远无法跳出循环所以无法执行下面的语句for的用法是:for(初始值;循环条件;每次循环后执行语句)将原来的for改为for(;b<=a;b++)即可正常输出,另外a不要过大,过大的话阶乘的值会大于int的最大值2147483647,结果就会不正确(可能会变成负数或其他意外结果)...
回复

使用道具 举报

千问 | 2013-7-29 11:11:36 | 显示全部楼层
“for(b<=a;;b++) ”这句有问题,应该改成“for(;b<=a;b++) ”,你的再去看看for循环里面参数的解释...
回复

使用道具 举报

千问 | 2013-7-29 11:11:36 | 显示全部楼层
for(b<=a;;b++) 改为for(;b<=a;b++) 试试...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行