早教吧 育儿知识 作业答案 考试题库 百科 知识分享

下面这两道C语言题目,一个选择,一个分析,基础型的,设有宏定义#defineSUB(x,y)(x)*y,且a=3,b=4,则SUB(a++,b++)的值为.A.12B.13C.16D.20这题答案是A,但我认为是C,请问为什么?2、n=3;printf(“\n%d,%d,

题目详情
下面这两道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(“\n %d,%d,%d”,n,++n,n++);
请问这个输出结果为什么是4,4,遇到这种情况具体怎么分析?
请把上面的题具体的分析下吧~







▼优质解答
答案和解析
1 (a++)*b++ = 3*4 = 12
2 出这个题目的人自己可能都没有考虑全.这种情况谁也没规定编译器该怎么做.不同的编译器出来的结果都可能不一样.