| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:[求助]C语言编程题目
只看楼主 加入收藏
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
收藏
 问题点数:0 回复次数:6 
[求助]C语言编程题目

题目为:

有以下定义语句double a,b; intw;longc;

若各变量已正确赋值,则下列表达式正确的是;

A;a=a+b=b++ B ;w%(int)a+b

C;(c+w)%(int)a D;w=a==b

A已理解

B把a强制转换为整形后不是可以与w取余嘛?~

C long 可以和int 取余是不是遵循自动转换类型?

D 为什么不行我搞不通

谢谢高人解答

搜索更多相关主题的帖子: C语言 
2006-12-26 16:29
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
w=(a==b)
这样就对了。。。w要么等于0.要么等于1
a==b为真w = 1
否则w= 0

这个社会太复杂。。。
2006-12-26 18:08
acuiping
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-20
收藏
得分:0 
c是遵循自动转换
2006-12-26 19:26
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
收藏
得分:0 
答案是选C,可B为什么错?~还有D中为什么加个()就可以了?~
2006-12-26 20:07
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 

B没错。是正确的

D是因为加个()后..(a==b)就是一个整体了。它可能有两个值1和0,然后再赋给w。。。。要是不加()。。则就相当于(w=a)==b
执行过程是这样的。先把a的值赋给w。然后再比较w和b是否相等。。结果产生一个逻辑值1或0。。但是这个1或0并没有赋给任何变量。。。因此错误。。。就相当于你写个这样的语句 a>b; 是不是错误你自己想想吧


这个社会太复杂。。。
2006-12-26 21:00
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用frog555在2006-12-26 16:29:13的发言:

题目为:

有以下定义语句double a,b; intw;longc;

若各变量已正确赋值,则下列表达式正确的是;

A;a=a+b=b++ 错误,a+b不可以做左值 B ;w%(int)a+b 可以

C;(c+w)%(int)a 可以 D;w=a==b//逻辑值 可以,==的优先极比=高

A已理解

B把a强制转换为整形后不是可以与w取余嘛?~

C long 可以和int 取余是不是遵循自动转换类型?

D 为什么不行我搞不通

谢谢高人解答

不管我说的对不对,ZL自己运行一下就知道了.


倚天照海花无数,流水高山心自知。
2006-12-26 22:45
caiqiufu
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-12-14
收藏
得分:0 
A;a=a+b=b++ 错误,a+b不可以做左值
为什么呢???
2006-12-26 23:33
快速回复:[求助]C语言编程题目
数据加载中...
 
   



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

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