若有以下程序 #include<stdio.h> main( ){ inta=1,b=2,c=3,d=4; if((a=2)&&(b=1))c=2; if((c=3)‖(d=-1))a=5; printf(’’%d,%d,%d,%d\n’’,a,b,

admin2014-06-17  23

问题 若有以下程序
#include<stdio.h>
main(    ){
inta=1,b=2,c=3,d=4;
if((a=2)&&(b=1))c=2;
if((c=3)‖(d=-1))a=5;
printf(’’%d,%d,%d,%d\n’’,a,b,c,d);)
则程序的输出结果是

选项 A、2,1,2,-1
B、2,2,2,4
C、1,2,3,4
D、5,1,2,-1

答案D

解析 代码中有两条并列的if语句,第一条if语句,逻辑与表达式(a=2)&&(b=1)中,a=2,则执行b=1,得到该逻辑与表达式值为1,执行分支语句c=2;第二条if语句(c=3)‖(d=-1),c=3不成立,执行d=-1,而后得出整个逻辑与表达式值为1,执行分支语句a=5。
转载请注明原文地址:https://kaotiyun.com/show/yeJp777K
0

随机试题
最新回复(0)