c語言 「不能在賦值語句中通過賦值運算子對字元型陣列進行整體賦值。」這句話為什麼是對的

時間 2021-05-05 17:00:30

1樓:匿名使用者

這樣寫是可以的(不是賦值,是初始化)。意思就是定義乙個字元陣列,並初始化,結果是:

s[0]='a'

s[1]='s'

s[2]='d'

s[3]='f'

s[4]='\0'

下面的寫法是錯誤的,這說明:「不能在賦值語句中通過賦值運算子『=』對字元型陣列進行整體賦值。」這句話是對的。

char s[5];

s[5]="asdf";

2樓:匿名使用者

char s[5]="asdf";

這句不是賦值而是初始化;

講的賦值語句是在程式執行中的賦值,就像

int a;

int b;

b=a; 這是賦值;

對於字元而言,要賦值就要採用strcpy(s1,s2)這個函式。

c語言裡為什麼不能用賦值語句對字元陣列進行整體賦值

3樓:veket的小號

字元陣列用char 不用

復int

a[10] 表示 陣列元素不制表示陣列整體, 陣列實際 是a[0]到a[9]同10個元素,不存在a[10]

int a[10]=;定義陣列順便完成整個陣列的 初始化 √(這是初始化 不是「整體」操作賦值...)

分兩步int a[10]; 先定義陣列 √

a[10]=; 然後使用陣列 × ,不能「整體操作」陣列,記住 不要在c中試圖「整體操作」給整個陣列賦值

4樓:

初始化和賦值不一樣啊…… 原理……就是規定的啊。

c語言的賦值問題,C語言指標的賦值問題

上面的說法中,都存在錯誤或不足.1.首先 c a b 的意義是把 a 和 b 這兩個變數的內容 5 和 6 相加得 11,再把 11 這個結果值傳送至 變數 c 所在的儲存單元儲存起來 而不是你想像的 將 a 和 b 這兩個變數組合為一個變數作為 c,或者複製一份變數組合再作為 c.當你用int a...

C語言賦值語句,C語言中賦值語句有什麼規則要求?

選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 吉祥二進位制 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每...

C語言符合賦值運算子,C語言賦值運算子的結合方向是自右向左嗎?

gta小雞 c a b c 2是錯誤的表示式,賦值運算子的左值必須是可解析的變數表示式,而c a不是乙個合法的左值。c語言賦值運算子的結合方向是自右向左嗎? 賦值運算bai符是自右向左結合的。du以如下 為例zhi int a 1,b 2,c 3 a b c printf d,d,d n a,b,c...