单选题 若有以下程序#include<stdio.h>main(){int a=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);}则程序的输出结果是
【正确答案】 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。