[问题] 请问此函式和阵列

楼主: 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