章节
问答
课签
笔记
评论
占位
占位

数组的遍历

当我们去超市回来买了一堆东西,就想要是有个机器人能帮我把东西拿出来放好,就完美了。

那么在程序中,数组就可以采用循环的方式将每个元素遍历出来,而不用人为的每次获取指定某个位置上的元素,例如我们用for循环遍历一个数组:


数组遍历时要注意以下几点:

1、最好避免出现数组越界访问,循环变量最好不要超出数组的长度,比如:

2、C语言的数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度的方法。

由于C语言是没有检查数组长度改变或者数组越界的这个机制,可能会在编辑器中编译并通过,但是结果就不能肯定了,因此还是不要越界或者改变数组的长度

任务

将0-9之间的数字存放在数组中,用遍历的方式打印输出出来。

在代码编辑器中

第7-11行之间编写数组遍历代码

运行结果为

?不会了怎么办

参考代码:

||
1
#include <stdio
    .h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

已采纳回答 / qq_慕虎9294303
你[]里面没有写数字但后面给出了十个元素,所以数组默认是[10],[]里可以填比10大的数字,但不能小于10

最赞回答 / 精慕门5089460
是可以,但是题目让你将一个数组中的元素给提取出来,而你这个程序只是单纯的输出一系列的数字而已

已采纳回答 / weixin_慕斯3464934
你把i=0放在循环里面了, 开始循环你就都把i定义为0了。应该把i=0放在循环外。所以进入无限循环状态。正确如下:#include <stdio.h>int main(){    int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};    //补全代码实现对数组arr的遍历    //可以采用你自己喜欢的循环结果   int i;   i=0;   do{       printf("%d\n",arr[i]);i++;   }while(i<10); ...

已采纳回答 / okkok
arr[i]这里[]里面要把i改成a

最新回答 / qq_慕工程3592778
#include <stdio.h>int main(){    int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};    //补全代码实现对数组arr的遍历    //可以采用你自己喜欢的循环结果    int length = sizeof(arr)/sizeof(arr[0]);        int i;   for( i = 0;i < length; i++)   {       printf("%d\n",arr[i]);   }    ...

最赞回答 / qq_慕用5232731
不,你不想

已采纳回答 / 神都
这格式要求吧,记得第一个是赋值,中间是循环条件,最后一个是约束条件限制死循环

最赞回答 / 神都
意思对了,但if只判断一次,不能作为一个循环,出来结果只判断了i=0;的情况虽然i后面+1;但不再次进入循环条件;可以if改成while;

最新回答 / 青楼十二房
数组的长度要先理解一下,数组的索引,即[]中的数字使从0开始算。

已采纳回答 / 小小疾飞
int arr[]={0,1,2,3,4,5,6,7,8,9};

最新回答 / LXSENSE
i没有在外面定义初始值,编译器不知道你的i++是从0开始还是1开始还是从多少开始,而且这里用do while循环的话,会先执行越界的那一次,再然后判断知道越界了,如果一定要用这个循环的话,建议把判断条件改成 i<9
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言