执行下面程序中的输出语句后,输出结果是_____.
#include<stdio.h>
void main()
{int a;
printf("%d\n",(a=3*5,a*4,a+5));
}
A) 65 B) 20 C) 15 D) 10
这道题考察的是对C语言逗号运算符的理解。逗号运算符从左到右依次执行表达式,并返回最后一个表达式的值。分析如下:
第一个表达式 a=3*5:计算 3*5=15,将 a 赋值为15。
a=3*5
3*5=15
a
第二个表达式 a*4:计算 15*4=60,但未对 a 重新赋值,因此 a 仍为15。
a*4
15*4=60
第三个表达式 a+5:计算 15+5=20,作为整个逗号表达式的结果。
a+5
15+5=20
因此,printf 输出最后一个表达式的结果 20。
printf
从左往右分元子计算,以最后一个元子的值作为整个表达式的值
a = 15
a+5 = 20
中间不用算
Masud 回复 zibingo: 为什么中间不用算
小鹿鹿鹿鹿鹿鹿 回复 Masud: 中间的并没有赋值给a
B
用户登录可进行刷题及查看答案
登录后提交答案