#define SQR(X) X*X main() { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d",a) ; } 结果2

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 10:54:17
#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d",a);}结果2#defineSQR(X)X*Xmain(

#define SQR(X) X*X main() { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d",a) ; } 结果2
#define SQR(X) X*X main() { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d",a) ; } 结果2

#define SQR(X) X*X main() { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d",a) ; } 结果2
#define SQR(X) X*X 这样定义有问题
改成这样:
#define SQR(X) (X)*(X)
不然编译时会把SQR(k+m) 转成 k+m*k+m.与你的想法不一致了