#include<stdio.h> #include<stdlib.h> #define SQ1(y) (y)*(y) #define SQ2(y) y*y #define SQ3(y) ((y)*(y)) int main() { int a,sq; printf("input a number: "); scanf("%d",&a); sq=160/SQ1(a+1); printf("SQ1=%d\n",sq); /* 160/(a+1)*(a+1) */ sq=160/SQ2(a+1); printf("SQ2=%d\n",sq); /* 160/a+1*a+1 */ sq=160/SQ3(a+1); printf("SQ3=%d\n",sq); /* 160/((a+1)*(a+1)) */system("pause"); return 0; } 设a的值为1,则程序运行结果(只写数字)为: SQ1= SQ2= SQ3=
时间: 2023-06-15 13:03:51 浏览: 318
#include<stdio.h>
SQ1=80, SQ2=240, SQ3=80。
解释:
- SQ1宏展开后为:(a+1)*(a+1),所以用1代入得到160/(1+1)*(1+1)=80。
- SQ2宏展开后为:a+1*a+1,所以用1代入得到160/1+1*1+1=240。
- SQ3宏展开后为:(a+1)*(a+1),所以用1代入得到160/((1+1)*(1+1))=80。
阅读全文