精选问答
下面这两道C语言题目,一个选择,一个分析,基础型的,设有宏定义#define SUB(x,y) (x)*y,且a=3,b=4,则 SUB(a++,b++) 的值为.A.12 B.13 C.16 D.20这题答案是A,但我认为是C,请问为什么?2、n=3; printf(“ %d,%d,%d”,n,++n,n++);请问这个输出结果为什么是4,4,遇到这种情况具体怎么分析?请把上面的题具体的分析下吧~

2019-04-13

下面这两道C语言题目,一个选择,一个分析,基础型的,
设有宏定义#define SUB(x,y) (x)*y,且a=3,b=4,则 SUB(a++,b++) 的值为_____.
A.12 B.13 C.16 D.20
这题答案是A,但我认为是C,请问为什么?
2、n=3;
printf(“ %d,%d,%d”,n,++n,n++);
请问这个输出结果为什么是4,4,遇到这种情况具体怎么分析?
请把上面的题具体的分析下吧~
优质解答
1 (a++)*b++ = 3*4 = 12
2 出这个题目的人自己可能都没有考虑全.这种情况谁也没规定编译器该怎么做.不同的编译器出来的结果都可能不一样.
1 (a++)*b++ = 3*4 = 12
2 出这个题目的人自己可能都没有考虑全.这种情况谁也没规定编译器该怎么做.不同的编译器出来的结果都可能不一样.
相关问答