#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/05/16 11:12:30
#define SQR(X) X*X main() { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(

#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.与你的想法不一致了