标题:在家帮帮忙
只看楼主
yypxjh
Rank: 1
来 自:上海松江
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-3-6
 问题点数:0 回复次数:1 
在家帮帮忙
能不能请大家帮我看一下这个程序,我不是很明白,
以下程序运行后的输出结果是:_
#define S(x)4*x*x+1
main()
{int i=6,j=8;
printf("%d\n",S(i+j);
}
谁能给出一个详细解答吗?
小弟在此谢谢了。


 以下程序运行后的输出结果是:_
main()
{int i=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a,a=c,c=t;
if(a<c&&b<c)t=b,b=a,a=t;
printf("%d%d%d\n",a,b,c);
}
搜索更多相关主题的帖子: 在家 
2008-11-05 05:51
lk220203006
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-11-5
得分:0 
第一个是81

调用的时候是4×6+8×6+8+1
计算的结果是81

这就是define的结果

在程序调用的时候并不会自动判断结合,只是单纯的进行替换。

第二个是4 3 5
main()
{
int a=3,b=4,c=5,t=99;
if(b<a&&a<c)
{
t=a;
a=c;
c=t;
}
if(a<c&&b<c)
{
t=b;
b=a;
a=t;
}
printf("%d%d%d\n",a,b,c);
}

因为第一个if中a<c为假,直接跳出判断,进入下一个if判断
条件为真
a和b的值进行互换
2008-11-05 07:51



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




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

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