标题:刚学的菜鸟问题想不通!
只看楼主
lansite2006
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-9-10
 问题点数:0 回复次数:7 
刚学的菜鸟问题想不通!
#include <stdio.h>
void main()
{
int a=1,b=5;
do
{
b*=a;
++a;
--b;
}
while(b<0);
printf("%d\n",b);
}
/*b输出是4,请问为什么会是4,这是一道选择题我不理解其中的意思!望高手解释一下,因为我刚学,有点想不通!麻烦高手写得详细一点!!谢谢了!!*/
搜索更多相关主题的帖子: include 选择题 
2006-09-30 00:08
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
得分:0 

沙发。


由于工作,N久都没来了!
2006-09-30 00:47
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
得分:0 

5-1 你说等于几????

while(b<0);真值判断为假,停止循环,打印b的值为4。


由于工作,N久都没来了!
2006-09-30 00:49
lansite2006
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-9-10
得分:0 

为什么是5-1??
请高手一步步说得详细点!谢谢了!

2006-09-30 01:22
lansite2006
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-9-10
得分:0 
++a和a++
--b和b--
有什么区别????
2006-09-30 01:25
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
++在前,变量先执行++运算,再进行其他运算;++在后,则先进行完其他运算后,再进行++运算。需要说明的是,在复杂表达式中这样的结合具有一定技巧,也容易引起错误,建议初学者少用这样的表达式。

谁有强殖装甲第二部,可以Q我460054868
2006-09-30 15:33
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用lansite2006在2006-9-30 0:08:18的发言:
#include <stdio.h>
void main()
{
int a=1,b=5;
do
{
b*=a; //b=b*a;
++a; //a=a+1;
--b; //b=b-1;
}
while(b<0);
printf("%d\n",b);
}
/*b输出是4,请问为什么会是4,这是一道选择题我不理解其中的意思!望高手解释一下,因为我刚学,有点想不通!麻烦高手写得详细一点!!谢谢了!!*/

循环第一次时,b=b*a=5*1=5;++a--->a=2; --b--->b=5-1=4;此时判断循环结束条件为假结束循环,所以输出为4.


倚天照海花无数,流水高山心自知。
2006-09-30 16:05
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
这个程序可以写成
#include<stdio.h>
void main()
{
int b=5;
--b;
printf("%d\n",b);
}
其余没有用途。

谁有强殖装甲第二部,可以Q我460054868
2006-09-30 16:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-93689-1-1.html




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

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