123.有以下程序 #include <stdio.h> main() { int a=0,b=0,c=0,d=0; (a++ && b++) ? c++ : d++; printf(

123.有以下程序#include<stdio.h>main(){inta=0,b=0,c=0,d=0;(a++&&b++)?c++:d++;printf("%d,%d,... 123.有以下程序
#include <stdio.h>
main()
{ int a=0,b=0,c=0,d=0;
(a++ && b++) ? c++ : d++;
printf("%d,%d,%d,%d\n", a,b,c,d);
}

程序的运行结果是( )。答案:D
A)1,1,1,0

B)1,1,0,1

C)1,0,1,0

D)1,0,0,1
解题过程
展开
 我来答
iamkunio
2015-09-03 · TA获得超过567个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:116万
展开全部
首先,判断(a++&&b++)这个条件,这个条件中又首先判断a++,得到结果为假(由于是后置自增运算符,所以a在判断的时候为0,判断之后为1)。&&运算中,只要有一个条件为假,则整个条件为假,所以程序不再判断b++这个条件,并且将(a++&&b++)这个条件判定为假。所以程序执行冒号后面的d++。所以a=1,b=0,c=0,d=1。所以答案选D
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式