| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1014 人关注过本帖
标题:[求助]一道C程序题
只看楼主 加入收藏
梦幻人生
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-1
收藏
得分:0 

我肯定地说,两着都对


You are larger than life!
2007-01-06 21:08
heaiso1985
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-12-11
收藏
得分:0 

你是什么专业的
要是计算机的
那你就不用学了
还是回家吧

2007-01-06 22:48
hjingya
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-12-6
收藏
得分:0 
[QUOTE][求助]一道C程序题将整型变量a,b中的较小值赋予c,
一,c=(a<b)?a:b;
二,(a<b)?c=a:c=b;
请问哪一个是正确的?[/QUOTE]
一:第一个是说,如果a<b结果是非0(真)的话,那么就将a的值赋予c如果是假的话,那么就将b的值赋予给c,所以这是对的,它相当于条件语句if的用法,c=(a<b)?a:b;可以些成:
if (a<b) c=a;
else c=b;
至于优先级问题,应该是条件运算符的优先级别比关系运算符和算术运算符都低。所以最后才是算术运算符,可以不用对它们加括号;
二:也因为上述优先级问题所以第二个是先把a赋予给c和b赋予给c然后再进行判断a<b是真还是假,但我想这样会产生错误吧,因为把a已经赋予c又b赋予c,如果此时c的值为b的话,那么这个语句是缺损的,故不能执行,又如果不是这样的话,岂不是同一时刻在存在了两个相同变量了吗?第二种情况是不对的。
个人观点!

2007-01-07 00:49
hjingya
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-12-6
收藏
得分:0 
我是楼上的。
所以说一是对的,二是错的。

2007-01-07 00:51
快速回复:[求助]一道C程序题
数据加载中...
 
   



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

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