本文目錄一覽:
- 1、C語言不能在賦值之後再定義變數么
- 2、C語言中變數賦值前後的問題,在定義變數時賦值和使用時的區別及原因。
- 3、c語言 關於先定義後賦值報錯的問題。
- 4、c語言結構體數組賦值,為什麼我賦值時就出錯?
- 5、c語言常見的賦值錯誤。。。
- 6、C語言為什麼先定義後賦值會出錯而定義的同時賦值就沒有錯??
C語言不能在賦值之後再定義變數么
是的,編譯器的行為和語言標準扭打在一塊了,以前在.cpp寫很隨意,但.c就要注意了寫c必須在第一行定義變數應該是先定義,再單獨賦值,或者直接定義並賦值int a=7;
C語言中變數賦值前後的問題,在定義變數時賦值和使用時的區別及原因。
外循環完畢的時候ji的值已經變成上次循環結束時候的值了, 兩個沒有什麼特別的區別.只是如果是const變數就必須在定義時候初始化.
c語言 關於先定義後賦值報錯的問題。
C89 規定 在函數體開頭 把要用的變數都定義好
除非是 局部變數 用 { } 括起來
這就導致
int a,b,c;
a=5;
b=4;
c=3;
int s,t;
會報錯
要改成
int a,b,c;
int s,t;
a=5;
b=4;
c=3;
才行
+++++++++++++++++
C99 規定 可以 在需要某個變數的時候再定義變數,
不用在函數體開頭 把一大堆變數都定義好
c語言結構體數組賦值,為什麼我賦值時就出錯?
因為cname是個數組,所以不能用”=”賦值
可以用strcpy函數複製字元串
strcpy(student[1].cname, bb); //這樣複製
c語言常見的賦值錯誤。。。
第二個是對的 char c = 32;
其他兩個是錯誤的。
int n1=n2=10; 這個n2聲明了嗎??n2是什麼類型的元素。
int n2=10;
int n1=n2; //這樣是對的。
int n1,n2;
n1=n2=10; //這樣也是對的。因為,n2在前面都聲明了。
float f=f+1.1; //後面的這個f是什麼?從哪裡來的?代表的值是多少?這些編譯器都不知道。
那麼即使這樣正確了,f的值也是不可預測的。所以,這個也不正確。
在C/C++中,變數都是先聲明,後使用。
C語言為什麼先定義後賦值會出錯而定義的同時賦值就沒有錯??
經測試 兩種方式都可以,你之所以出現上述錯誤是因為你的編譯的語言不對,你這是標準的C語言,而你用的文件後綴是.cpp,這是標準的C++語言的,所以會出現這種錯誤,C++語言全局變數必須要聲明的時候賦值,不可以在全局給他 在聲明之後再寫語句賦值。你可以改為後綴名.c或者是.h的來編譯 就可以了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186407.html