第1个回答 2011-01-11
您好,对于你的提供的
#define f(x) x*x,x+x
int x=3
您提供的表达式f(x)=x*x,x+x根据逗号表达式的右结合性,它取x+x的值为6
您提供的表达式f(x)+f(x)=x*x,x+x+x*x,x+x根据逗号表达式的右结合性,它取x+x的值为6
您提供的表达式f(x)*f(x)=x*x,x+x*x*x,x+x 根据逗号表达式的右结合性,它取x+x的值为6
如果您一定要得出答案为9的话可以写出如下算法:
#define g(x) f(x)=x*x,x+x
int x=3
您提供的表达式f(x)=x*x,x+x等号的优先级高于逗号,f(x)的值为9,g(x)的值为x+x为6 .