C語言易錯雜記一

2021-10-24 22:26:00 字數 642 閱讀 4566

一、「\n」表示回車+換行

回車是指將游標設定到輸入的最左端;換行則表示重新另起一行,但不移動游標原來所在位置。

「\r」則表示單純回車,可用於寫動畫效果

二、比較兩個字串是否相等

使用strcmp(字串a,字串b),但需要注意strcmp的返回值為0時表示字串a與字串b相等,返回值為非0時表示不相等。

因為在c語言中通常0表示假,非0則表示真;可strcmp函式正好相反!

三、使用 scanf 時可以不加位址符&的情況

目前僅發現:scanf 輸入陣列時,例如:char name[ ]; scanf("%s",name);

四、有關void

void不能定義變數(如:void x),void *x可以進行定義,但 void *x 不能被解引用;

void * 可以用來接收任意型別,常用於指標的傳址;

庫函式memset(void *ptr , int value , size_t num);

其中 *ptr 表示記憶體的起始位址

memset/ * 對記憶體進行設定的簡單介面 * /

五、指標儲存字串和陣列儲存字串的區別:

陣列儲存字串:儲存的是完整字串內容,而且此時儲存的字串內容可以進行修改

C語言 雜記

1 常量溢位 u16 adc temp 0 應為 u32 adc temp 0 for i 0 i 100 i adc temp 100 1.2 資料範圍溢位 將乙個數拆分為n個隨機數 for i 0 i 200 i break 可更正為 for i 0 i 200 i else 小於或等於0xff...

C語言 雜記

2n 要表示為 2 n printf d a 引號必須是雙引號,不能是單引號,否則報 error c2664 printf cannot convert parameter 1 from const int to const char conversion from integral type to...

C語言雜記

p是列印位址 指標位址 的,是十六進製制的形式,但是會全部打完,即有多少位列印多少位。32位編譯器的指標變數為4個位元組 32位 64位編譯器的指標變數為8個位元組 64位 在32位編譯器下,使用 p列印指標變數,則會顯示32位的位址 16進製制的 在64位編譯器下,使用 p列印指標變數,則會顯示6...