C语言中关于if函数的问题 20

#include<stdio.h>voidmain(){inta;scanf("%d",&a);if(a++<9)printf("%d\n",a);elseprintf(... #include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a++<9)
printf("%d\n",a);
else
printf("%d\n",a--);
}
给出详细的分析,输入9为什么结果是10
展开
 我来答
沧海雄风2009
2012-07-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2853万
展开全部
很简单

if(a++<9) 时 a++ 是先运行比较 完成后 才++的

比较是 9 明显不小于9 然后自加 转到else

再转到else

然后在else的 printf里 a-- 也是同样 先输出 然后再自减

因此输出10 然后才自减为 9

看我的程序 你就明白了

9
10
9
Press any key to continue

#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a++<9)
printf("%d\n",a);
else
printf("%d\n",a--);
printf("%d\n",a);
}
lphaff
2015-10-07 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1565
采纳率:72%
帮助的人:624万
展开全部
输入a=9时,首先判断if语句
a是否小于9?
a是否小于9决定是执行if语句还是else语句
判断完之后,a++变为10
事实上,输入为9,会执行else语句
用printf函数输出a的值10后,a会执行a-1变为9
如果输入a=8,则会输出为9
C语言中的if语句主要有三种应用情况
第一种情况是多个if语句并列
if(表达式1)
{
...
}
if(表达式2)
{
...

}
第二种情况就是if和else组合
if(表达式)
{
...
}
else
{
...
}
第三种情况就是,多个if和else if
if(表达式1)
{
...
}
else if(表达式2)
{
...
}
...
else
{
...
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine雪瑞
2015-10-11 · 知道合伙人教育行家
shine雪瑞
知道合伙人教育行家
采纳数:140 获赞数:26668
学生

向TA提问 私信TA
展开全部
C语言if函数的用法
main() { int a=3,b=4,c=5,t=99; 从这题来看,这应是T中间变量,用来进行另两个数的交换,故T可不用赋值 if(b<a&&a<c) t=a;a=c;c=t; b<a&&a<c这是B小于A并且A小于C 若满足这条件,则A与C的值互换 这题不满足这一条件if(a<c&&b<c) t=b;b=a;a=t; 这与上式意思相同 但满足这条件,所以b与a互换printf("%d%d%d\n@",a,b,c); 结果应该是照常输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hfeng101
2012-07-17
知道答主
回答量:31
采纳率:0%
帮助的人:17.9万
展开全部
具体执行流程是这样的:
if(a++<9)判定失败,判定完后,a+1=10;
然后,执行else的语句,printf(“%d\n",a--);是先输出a,再执行a-1=9的操作,这是因为--在a后面的原因.
具体分体:
a++/a--表示先执行已有判断或操作,然后执行a+1/a-1;
++a/--a则相反,先执行a+1/a-1,然后再执行其它操作,你可以写几行代码测试一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shinexsf
2012-07-17 · TA获得超过177个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:165万
展开全部
a++和++a的区别,看看书上的解释吧。

(a++<9)先比较a是否小于9,如果是(++a<9),则先a+1在比较a是否小于9。
这个书上有的,好好看看书哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式