#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=1 ; a/=SQR(k+m)/SQR(k+m); pri#define SQR(X) X*X#include void main(){int a=16,k=2,b=4,m=1 ;a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); }为什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 09:58:53
#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=1 ; a/=SQR(k+m)/SQR(k+m); pri#define SQR(X) X*X#include void main(){int a=16,k=2,b=4,m=1 ;a/=SQR(k+m)/SQR(k+m); printf(

#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=1 ; a/=SQR(k+m)/SQR(k+m); pri#define SQR(X) X*X#include void main(){int a=16,k=2,b=4,m=1 ;a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); }为什么?
#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=1 ; a/=SQR(k+m)/SQR(k+m); pri
#define SQR(X) X*X
#include
void main(){
int a=16,k=2,b=4,m=1 ;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
}
为什么?

#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=1 ; a/=SQR(k+m)/SQR(k+m); pri#define SQR(X) X*X#include void main(){int a=16,k=2,b=4,m=1 ;a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); }为什么?
宏定义有替代的意思.
SQR(k+m)/SQR(k+m)展开后,变成k+m*k+m/k+m*k+m,显然,这不是你想要的结果.
正确的宏定义是:
#define SQR(x) (x)*(x)