我面臨的問題是如何理解#define是如何工作的。如何定義有運算符的值時#define如何工作?
#include<stdio.h>
#define x 6+3
int main(){
int i;
i=x; //9
printf("%d\n",i);
i=x*x; //27
printf("%d\n",i);
i=x*x*x; //45
printf("%d\n",i);
i=x*x*x*x; //63
printf("%d\n",i);
return 0;
}
如果我使用#define x 6+3
輸出是9月27日45 63
如果我使用#define x (6+3)
輸出爲9 81 729 6561
要了解,我建議你自己動手完成的宏擴展明白髮生了什麼。 – user694733
#define通過文本替換工作。 –
從上面的評論,讓你開始'i = x * X' - >'i = 6 + 3 * 6 + 3' –