永发信息网

C程序设计题

答案:4  悬赏:80  手机版
解决时间 2021-07-20 12:03

假设所有变量均已正确定义,下列程序段运行后y的值是( )

int a=0,y=10;

if(a=0)y-- ; else if(a>0)y++; else y+=y;

A.20 B.11 C.9 D.0

答案选A,为什么?

最佳答案

主要在于if(a=0) 是先将a赋值为0,然后判断a是否为真.


if(a=0)y-- ; //运行时.判断if(a=0) 直接将a赋值为0. 因为a赋值为0所以表达式结果为假. 执行else


else if(a>0)y++; //因为上面将a赋值为0. 所以else if(a>0)表达式结果为假. 执行下一个else


else y+=y; //执行y=y+y.


所以y就等于20;


要注意的是=是赋值. ==才是判断是否相等.

全部回答

因为:第一个if语句中是: a=0是赋值语句 而不是a==0 所以相当于:if(0) 因此y-- 是不会执行的,

又因为:a=0了 不不大于0所以y++也不会执行 所以只有执行:y+=y了 即:y=10+10=20

因为if(a=0)里的条件,是0 (false)所以,y--不会执行

因为a=0,所以a>0也是false,if(a>0)的y++也不会执行

那么执行的是y+=y,也就是y=y+y=10+10=20

所以选A

不会吧,怎么可能选A啊???

是不是答案搞错了。这个题应该选c啊。是9啊!答案搞错了!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
寻仙200仙玉能卖多少游戏币
白居易写月亮的诗句,有人可以解释一下什么叫
男女朋友分手後還可以做為好朋友嗎?
下载QQ堂有病毒没
天下贰猴子30多级能带4星的吗,大概要多少钱
请问取个什么名字?她是重阳节晚上出生的,老
高分跪求精灵乐章激活码一个
什么地方有修mp5的?
今年考的会计证今年需要参加年审吗?
歌曲(相信-曾建军) 谁有这个歌曲给发一下谢
蹭网卡 对我身体有什么坏处啊?
谁能帮我解释一下错误日志 悬赏 最好详细点
请问:自学,不怕起点低,就怕不到底。是谁说
北京公交998路是从那里到那里
切片面包用英语怎么说,家具用什么擦比较好
推荐资讯
2010卡巴斯基9.0.0.736激活码?
大家帮忙评论下这个电脑吧!
火字旁的女孩名字姓赵
安踏和匹克各推荐下有什么价位在200~300性价
黑暗城的破曦护肩
什麽游戏有意思?
谁能给我<<AVA>>的激活码?
手机QQ农场和电脑上的QQ农场是一模一样的吗?
谁能给我一个上海现在能用的QQip代理地址
我的脚扭伤了,不知道是不是骨折
1.we are going to the museum属于将来时的be
关于回忆的英语句子,关于回忆的英语句子(请
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?