1樓:匿名使用者
#define nl "\n「 這個語句定義的是個代表回車換行符號字串,所以要加雙引號
#define nl printf 是定義 printf 函式的別名,所以不用雙引號
2樓:匿名使用者
編譯器在編譯中會把define符號
,例如**,對於你上面給的兩個例子,"\n"是乙個字串,所以要用雙引號,而printf是乙個函式,所以不用雙引號。可以用下面例子說明:
1、對於#define nl "\n"
如果有**printf(nl);,後即:printf("\n");,列印乙個回車
2、對於#defing nl printf如果有**nl("hello, the world"),後即:printf("hello, the world");
3樓:匿名使用者
#define的作用是字串代替(當然也可以巨集定義帶引數的函式,這個稍微複雜點,這裡不**)。如下
#include "stdio.h"
#define nl printf
#define nl2 "\n"
int main()
\n是轉義字元,所以要用雙引號括起來,至於printf當然不能引起來,否則就成了"printf"("%d",x);
4樓:匿名使用者
反正都是文字替換,括起來更方便使用
5樓:匿名使用者
幹嘛挑這種牛角尖,,,,,,
6樓:博爾特
printf是關鍵字~
關於C語言問題,關於C語言的問題
迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...
c語言關於陣列中0和的儲存問題,C語言關於陣列中0和 0 的儲存問題
只能佔用4 個 第五個要留給 0 a 4 0 和 a 4 0 這倆一樣 0 ascii 碼 0 a 4 0 這樣的 0才是ascii碼48 不要被那些人誤導 首先乙個字串的話末尾是必須要有 0的 否則會越界,這樣的後果就是程式會有bug,如果你的陣列有5個空間的話,最後乙個一定要留給 0至於a 4 ...
C語言畫圖應用中的問題,關於用C語言畫圖的問題
bar 左邊座標,上邊座標,右邊座標,下邊座標 寬度 右邊座標 左邊座標 高度 下邊座標 上邊座標 因為繪圖長度單位是畫素 pixel 與螢幕大小和解析度有關。例如解析度 1920,螢幕寬度 30cm,邊長 15 時,方塊寬度 30cm 1920 15 0.23cm。當尺寸太小時,就沒法顯示了。關於...