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

admin2019-04-24  42

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

选项 A、20
B、12
C、16
D、25

答案C

解析 宏展开的结果(a+++1)*b++,后缀自加表达式参加运算,先用a和b的初值得到表达式的值,进行计算,然后a和b在自加。因此计算结果为16。
转载请注明原文地址:https://kaotiyun.com/show/2LRp777K
0

最新回复(0)