[語法] 陣列的基本問題 sub[i]= i*i 取代掉原本陣列?

看板C_and_CPP作者 (不要問)時間15年前 (2009/06/17 18:05), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
小弟剛學陣列不久 剛看到有一個題型 main() { int sub[5] = { 10, 20, 30, 40, 50}; for (int i = 0 ; i <= 4 ; i++) { if ( i <= 4) { sub[i] = i * i; cout << sub[i]; } } system("pause");} 一開始我以為是印出=> 1020304050 後來我用Dev-印出 出現的答案是 014916 看了他算法 是 0*0=0 1*1=1 2*2=4 3*3=9 4*4=16 請問一下 sub[i]= i*i 是指 [i] 這個地方裡面的數字以經被取代為 i * i了嗎!? [2] 本來是30 sub[2]=2*2 所以sub[2] = 4 是這樣的意思嗎!? 這是小弟剛突然想到的小疑問... -- ↖煞气a ↘,為什麼您要這麼著急呢? http://www.wretch.cc/blog/s9021413 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.220.180

06/17 18:13, , 1F
sub[i] = i * i 中,=的運算優先權最低,因此先做i*i得到結果
06/17 18:13, 1F

06/17 18:14, , 2F
而=會把右邊的值複製給左邊的變數。
06/17 18:14, 2F

06/17 18:14, , 3F
了解 謝謝樓上!
06/17 18:14, 3F
文章代碼(AID): #1AEB_vbO (C_and_CPP)