[問題] 請問此函式和陣列

作者: tyjh (....)   2018-08-25 12:55:33
問題(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.可否幫解個幾步 目前是 不知如何下手@@
作者: jerryh001   2018-08-25 13:02:00
1.X大小為10 第一個初始化為0 剩下的隱含變成0
作者: tyjh (....)   2018-08-25 13:14:00
意思是 i=0 X[2]初始為0 剩下的 依序排入嗎?
作者: chuegou (chuegou)   2018-08-25 13:49:00
他是回答你第一個問題
作者: Ryspon (Ry)   2018-08-25 14:13:00
初始化 int X[10] = { 0 }; 已經幫你做完了for-loop 部分則是從 index 2 開始依序往後給 0~9 的值
作者: tyjh (....)   2018-08-25 14:34:00
好像懂了 謝謝~
作者: wastony1107 (哥就是無聊)   2018-08-26 09:13:00
補充一下,{0}是代表指定X[0]的值為0,剩下的值會自動指定為0,也就是說不管{}內填什麼後面的值都會自動初始化為0,除非用“,”自己給值。但是不能省略{0}否則陣列不會初始化
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-08-26 11:30:00
你上課都沒講到這個?問題看起來很嚴重

Links booklink

Contact Us: admin [ a t ] ucptt.com