为什么下面代码的答案是16?有人能解释一下这个程序的运作方式吗?
如果我们写的代码与下面相同,则答案是4:
#define SQUARE(n) n*n
void main()
{
int j;
j =16/SQUARE(2);
printf("\n j=%d",j);
getch();
}
如果我们写的代码与下面相同,则答案是4:
//the ans is 4 why?
#include<stdio.h>
#include<conio.h>
#define SQUARE(n) n*n
void main()
{
int j;
j =16/(SQUARE(2));
printf("\n j=%d",j);
getch();
}
j = 16 / SQUARE(1 + 1);
,那么答案将是18,但如果您写成了j = 16 / (SQUARE(1 + 1));
,那么答案将是5。此外,main()
函数的返回类型应为int
。 - Jonathan Leffler