#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d\n",s,t); } 程序运行结果其他的不会打了 我运行总是错误

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 08:00:09
#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf(

#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d\n",s,t); } 程序运行结果其他的不会打了 我运行总是错误
#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d\n",s,t); } 程序运行结果
其他的不会打了 我运行总是错误

#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d\n",s,t); } 程序运行结果其他的不会打了 我运行总是错误
要这样定义宏:#define f(x) (x)*(x)*(x)
不然有二义性的.
像你这样定义f(x) x*x*x;
传f(a+1)实际上运行的是f(a)+f(1)

3+1x3+1X3+1=10