有以下程序 #include <stdio.h> main() { int a=2,b=3,c=4; a*=16 +(b++) - (++c); printf("%d \n",a ); } 程序运行后的输出结果是

admin2020-10-26  24

问题 有以下程序
#include   <stdio.h>
main()
{   int  a=2,b=3,c=4;
    a*=16 +(b++) - (++c);
    printf("%d \n",a );
}
程序运行后的输出结果是

选项 A、15
B、30
C、28
D、14

答案C

解析 1、后置自增运算:k++表示先运算,后自加。2、前置自增运算:++k表示先自加,后运算。++单目运算符的优先级高于赋值运算符。a*=16 +(b++) - (++c);可转化为:a=a*(16+b-(c+1));b=b+1;代入值计算可得值a=28。答案为C选项
转载请注明原文地址:https://kaotiyun.com/show/Uk3p777K
0

最新回复(0)