这个主要是逗号表达式的计算
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
所以,你的那个表达式(a=3*5,a*4,a+5),先计算a=3*5;这时a=15了,然后计算a*4=60,再计算a+5=20;逗号表达式的值为最后一个表达式的值,所以(a=3*5,a*4,a+5)=20
你的程序最后打印20
执行程序后 a=15.
printf("%d\n",(a=3*5,a*4,a+5);中只有a=3*5对a进行了赋值操作,后面有关a的计算,对变量a本身没有影响。
输出语句后,a的值为15,打印到屏幕上的为逗号表达式的结果20。
%是取余,/是除。根据逗号原理,输出的是最后一个表达式的值。所以选C.
20