c語言中注意細節

c語言中易忘易忽略知識點

邏輯運算符 中存在着局部短路的現象

1.&&  1&&2 與運算表示的是同真則真 有一假則爲假 如果1是假 則2不做判斷

2.|| 或運算表示的是一真則真 同時爲假才爲假 如果 1 || 2 中1是真 則2 不做判斷

switch 語句中遇到 break才跳出循環 不要忘記寫break

對於字符輸入的時候 注意多餘的字符 getchar();可用來接受緩存區中的一個字符 也可以用 rewind(stdin) 清空緩存

3. 隨機函數 arc4random() 對[x ,y]獲取隨機數 arc4random()%(y-x+1)+x;

4 .%s遇到 '\0'才停止,數組不要差生越界的情況

5. char a[6] = {'a', 'p', 'p', 'l', 'e','\0'};記得加上'\0' 若是字符串 則自動加上'\0' char a[6] = "apple";

6. strlen計算長度的時候遇到'\0'就結束並且'\0'不計入其中

string s[] = "apple"; 的元素個數是6 ,但是長度是5, 字符串後面自動加上'\0', 但是長度計算的時候沒有把'\0'計入在內

7.注意:凡是涉及到對字符串的比較和賦值不能使用 > <或者=這些運算符 而是使用 strcmp(字符串1,字符串2); strcpy(字符串1,字符串2)這些字符串的函數,計算長度就用 strlen;在結構體中也要注意要使用strcpy(student.name, "lili");

8.char *p = "ios";

*p = 'a'//這是錯的,指向常量區地址,修改的是常量區的地址,這是不允許的, 會發生崩潰的情況

9.在內存分配的時候如果計算字符串的長度,按照字符串的長度分配內存的時候,記住在計算字符串長度的時候沒有加上'\0'所以在使用函數計算長度記得要加1.

10.字符串賦值的時候注意最後的'\0'要加上







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章