C語言做題常錯的地方總結

  1. 字符串比較不能直接用== ,要用strcmp.
  2. 用strcmp時注意當相等時,返回0,在if語句中爲不進入.
  3. 用gets才能讀入帶空格的字符串,scanf遇到空格,回車,TAB認爲輸入結束.
  4. 用gets和scanf("%c",&x)時,注意要用getchar()吃掉緩衝區的回車.
  5. 一定要看vim前面的☸提示.
  6. 定義一個指針,要麼讓它指向某個變量,要麼給它動態分配內存.不要直接使用!
  7. 字符數組只有在定義時才能將整個字符串一次性的賦值給它,一旦定義完了,就只能一個字符一個字符的賦值了.例如:
	char str[7];
	str = "hello";  //錯誤
	//正確
	str[0] = 'a'; str[1] = 'b'; str[2] = 'c';
	str[3] = '1'; str[4] = '2'; str[5] = '3';
  1. 除了字符數組,C語言還支持另外一種表示字符串的方法,就是直接使用一個指針指向字符串,例如:
char *str ;
str = "xxxx"; //正確
或者
char *str = "xxx";
  1. 指針數組的輸入操作,需要先動態分配內存給指針.
	char *string[10] = {NULL};

    for(i = 0; i < 10; i++) {
        string[i] = (char *)malloc(sizeof(char)*20);
        scanf("%s", string[i]);
    }
  1. float 的有效數字範圍爲7位有效數字
    double的有效數字範圍爲15~16位有效數字
    這裏的有效數字範圍包括小數和小數點前的數,
    例如:3.14 是3位有效數字
  2. 默認情況下, 編譯器會把一個小數當做double類型
    如果寫成float x = 3.14;
    則編譯器會把double類型轉換爲float類型, 多做一步轉換
    所以一般 float x = 3.14f;
發佈了13 篇原創文章 · 獲贊 5 · 訪問量 748
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章