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'要加上