看板 C_and_CPP 關於我們 聯絡資訊
問題(Question): void F() { int X[10] = {0}; for (int i=0;i<10;i=i+1) { scanf("%d", &X[(i+2)%10]); } } 某考試的考古題 F()函式執行時,若輸入依序為整數0,1,2,3,4,5,6,7,8,9 請問X[]陣列的元素值依順序為何? 答案是 8,9,0,1,2,3,4,5,6,7 1.X[10] = {0} 的意思是 陣列中的第10個元素是0嗎? 2.可否幫解個幾步 目前是 不知如何下手@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.203.74.58 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1535172935.A.CB5.html
jerryh001: 1.X大小為10 第一個初始化為0 剩下的隱含變成0 08/25 13:02
tyjh: 意思是 i=0 X[2]初始為0 剩下的 依序排入嗎? 08/25 13:14
chuegou: 他是回答你第一個問題 08/25 13:49
Ryspon: 初始化 int X[10] = { 0 }; 已經幫你做完了 08/25 14:13
Ryspon: for-loop 部分則是從 index 2 開始依序往後給 0~9 的值 08/25 14:15
tyjh: 好像懂了 謝謝~ 08/25 14:34
wastony1107: 補充一下,{0}是代表指定X[0]的值為0,剩下的值會自 08/26 09:13
wastony1107: 動指定為0,也就是說不管{}內填什麼後面的值都會自動 08/26 09:13
wastony1107: 初始化為0,除非用“,”自己給值。但是不能省略{0}否 08/26 09:13
wastony1107: 則陣列不會初始化 08/26 09:13
MOONRAKER: 你上課都沒講到這個?問題看起來很嚴重 08/26 11:30