柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
若有以下程序 #include
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); } 则程序的输出结果是
A.1,2,3,4
B.2,1,2,-1
C.5,1,2,-1
D.2,2,2,4
热度🔥1,334
参考答案:D
解析:
【解析】第一个if语句的判断条件中是逻辑或表达式,所以只要有一个运算对象为真结果就为真,且如果前面的已经为真,后面的表达式不再进行执行判断。执行第一个if判断条件时a的值为2,整个表达式的值为真,b的值不变,c的值为2。判断第二个if条件为逻辑与表达式,只有两个运算对象均非零,才为真,第一个表达式c==3,不成立,不再判断第二个运算对象,所以不执行d=-1操作和a=5操作。所以结果为选项D。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
有以下程序 #include void fun ( int *s ) { static int j=0; do s[j] += s[ j+1]; while(++j<2); } main() { int i, a[10]={1,2,3,4,5}; for( i=1; i<3; i++ ) fun( a ); for( i=1; i<5; i++ ) printf("%d",a[i]); printf("\n"); } 程序运行后的输出结果是
以下叙述中正确的是
有以下程序 #include main() { int c,d; c = 10 | 5; d = 10 + 5; printf("%d,%d\n", c, d); } 程序的运行结果是
关于CMIP的描述中,正确的是
标签
二级C语言
if
表达式
判断
为真