标题:[求助]请教几道与逻辑运算及分支结构的问题
取消只看楼主
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
得分:0 
以下是引用cdmalcl在2006-9-16 16:42:10的发言:

一个符值也象函数一样要有个返回值(近似的这么认为)
那这个符值表达式的值就是最后赋予的值 也就是 2
判断表达式的值是1还是0 看表达式内部的式子是不是0

明白了,谢谢!
那我想再问一道题目
以下程序输出结果是
#include"stdio.h"
main()
{int a=5,b=8,c=3,max;
max=a;
if(c>b)
if(c>a)
max=c;
else
if(b>a)
max=b;
printf("max=%d\n",max);
}
答案是5,可是我觉得是8,因为
if(c>b)
if(c>a)
max=c;
else
if(b>a)
max=b;

这些语句都没有被执行,道理是c<b,所以b的值应该维持不变8,我错在哪里?
请两位高手指教.

2006-09-16 16:59
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
得分:0 
那我觉得我分析得没错呀,可是为什么我的答案是错的?
2006-09-16 17:17
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
得分:0 
以下是引用cdmalcl在2006-9-16 17:28:34的发言:
看13楼

虽然我知道else语句与
if(c>a)
max=c;
对应,
但这都是在if(c>b)成立的基础上才能执行下去的,现在c<b所以else 后面的语句是不会执行的,因为它们的大前提都是if(c>b)才能执行.请指教.

2006-09-16 17:55
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
得分:0 
明白了,谢了
2006-09-16 18:33



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




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

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