这个问题是不是这样的?

KONGLEUNG 2010-07-17 02:54:08
设整型变量a、b、c、d均为0,执行下列程序段后变量d的值是:

if(!a)++d;
else if(b);if(c) d=2;
else d=3;

A.0 B.1 C.2 D.3


看看是不是这样理解的:
如果!a为非0,执行++d,d=1.else if(b)这句不执行。
if(c)为非0,就执行d=2,因为c为0,否则d=3

所以最后d=3.
...全文
106 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mazhichao84 2010-07-18
  • 打赏
  • 举报
回复
是这样的
正确啊
艾莎云 2010-07-18
  • 打赏
  • 举报
回复
鄙人 认为该题目有问题 首先就是!a,究竟该干嘛的 怎么判断 完了 if(b);为何有分号?答案肯定是D 分a=0和 a为非零 来运算……
fcly1981826ly 2010-07-18
  • 打赏
  • 举报
回复
学习学习学习学习
zxk860611 2010-07-18
  • 打赏
  • 举报
回复


[Quote=引用楼主 kongleung 的回复:]
设整型变量a、b、c、d均为0,执行下列程序段后变量d的值是:

if(!a)++d;
else if(b);if(c) d=2;
else d=3;

A.0 B.1 C.2 D.3


看看是不是这样理解的:
如果!a为非0,执行++d,d=1.else if(b)这句不执行。
if(c)为非0,就执行d=2,因为c为0,否则d=3

所以最后d=3.
[/Quote]
ForestDB 2010-07-18
  • 打赏
  • 举报
回复
顶了。
xiaohu0238 2010-07-17
  • 打赏
  • 举报
回复
绝对正确。。。
wxwlll 2010-07-17
  • 打赏
  • 举报
回复
非常正确,注意书写格式
KONGLEUNG 2010-07-17
  • 打赏
  • 举报
回复
谢谢,各位了。
yilusuixin 2010-07-17
  • 打赏
  • 举报
回复
对,不过程序尽量要写的清晰些才好,像1楼写的那样
herojun 2010-07-17
  • 打赏
  • 举报
回复
是这样的啊
chaoliu1024 2010-07-17
  • 打赏
  • 举报
回复
楼主的理解是对的
yilaozhuang 2010-07-17
  • 打赏
  • 举报
回复
赞成楼上观点,楼主的意思应该一直是 if() ;else if() ;else if()...;else()
mstlq 2010-07-17
  • 打赏
  • 举报
回复
翻译一下,并写得清晰点

if (a == 0)
++d;
else if (b != 0); /*注意这里的分号*/

/*这是一个新的if语句,不从属与上面的*/
if (c != 0)
d = 2;
else
d = 3;

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧