warning:deprecated conversion from string constant to 『char *』
不贊成從字串常量到字元指標的轉換
將char 改為 const char解決(**嚴格化)
warning: implicit declaration of function 『……』
translation:……函式的宣告是隱式的。
所有的函式及變數都必須先宣告再使用
如果將函式放置在主函式前方這個警告將不會顯示,因為已經宣告過了。
error: assignment to expression with array type
陣列名不能被賦值
char s[8]
; s =
"beijing"
;
由於陣列初始化為靜態儲存型別,而字串常量也屬於靜態儲存型別,用雙引號括起來的內容被視為指向該字串儲存位置的指標。所以將"beijing"指標所指向的位址賦給s指標所指向的位址,是不正確的,因為陣列為const *型別,指向位址不能被修改。
所以說,c不允許將陣列作為乙個單元賦給另乙個陣列——字串變數正是靜態儲存型別的陣列。同時不允許{}列表式賦值(具有陣列概念)。
char s[8]
; s[0]
='b'
;putchar
(s[0])
;
char a[7]
,b[7];
scanf
("%s%s"
,a,b)
;puts
(a);
puts
(b);
updated on 11/3/2019
error:array bound is not an integer constant before ']' token
在elemtype前加上const修飾符。陣列的儲存是靜態的,因為乙個記憶體分配是不可能預留的,而預留也會不夠,陣列的意義是數的組合,它應只佔一塊確定的儲存單元,所以當在檔案作用域使用vla時,必須用const加以修飾。 C 常見錯誤總結
1,字串 hello 會被輸出幾次?int main 這個題目,若不注意,會以為輸出三個hello。但是實際上輸出四個。但是 print輸出字串如果不是一 n 為結尾的話,就不會馬上輸出,而是儲存在快取區中。fork函式在建立子程序的時候會複製快取區的資料。2,i 和 i 作為引數傳入函式的情況分析...
c語言007 常見錯誤總結
輸入double型別的資料的方式是 1 double num scanf lf num scanf s lf num,sizeof double unsigned型別和int型別的進行相加,這時候int unsigned int。總結 乙個負整型和乙個無符號整型進行相加一定是整數。關於指標 char...
c 中的常見錯誤總結
c 中的常見錯誤總結 1.變數名的錯誤 例如 int char 編譯失敗 變數名不能和函式名同名 int system 會導致後面不能使用system函式 2.變數沒有定義直接使用 例如 a 3 a v 要先定義 之後在使用 3.輸入與使用的順序不當 以下是錯誤 include include us...