#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d",s,t);为啥输出是10,64

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/01 04:44:36
#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf(
x)SNIMKUHӨTB< Mj̼D[cbkb4DmCM ҴV((IPRMQMQ)|gN]bXohcfbTO? l췧&>{ `'{?Olx>{ӽ+ra-B"mL bgSv>똀@6yvk

#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d",s,t);为啥输出是10,64
#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d",s,t);为啥输出是10,64

#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d",s,t);为啥输出是10,64
少了括号
你这语句s=f(a+1)相当于s=a+1*a+1*a+1=10;
t=f((a+1))=(a+1)*(a+1)*(a+1)=64;
应该改成
#define f(x) (x)*(x)*(x)