粽子皮蛋粥 2022-10-28 07:32 采纳率: 57.1%
浏览 49
已结题

关于c语言数组逆序问题

为什么数组逆序第一个for循环中要从i=0开始?i为什么要小于数组长度?
第二个for循环要从i=9开始?i为什么要大于等于0?
#include <stdio.h>
#define N 10

int main() {
int i;
int a[N];//数组长度为10

/*
int n;
scanf("%d",&n);//可以随意定义输入元素的数量,N只是数组元素的上限。
*/
for (i = 0; i < 10; i++) {
    scanf("%d", &a[i]);
}

printf("逆序输出:");

for (i = 9; i >= 0; i--) {
    printf("%d ", a[i]);
}

return 0;

}

  • 写回答

4条回答 默认 最新

  • 於黾 2022-10-28 08:41
    关注

    你在问i的取值范围之前,不应该先问i是干什么的吗,你都不知道i是干什么的,那它是多少跟你有什么关系呢
    i是用来作为数组下标使用的,数组下标从0开始,到n-1结束(n是数组长度),那么i的取值范围自然也是从0开始,到n-1,i<n不就是最大能取到n-1吗
    如果是逆序遍历,i从最大值开始取,取到0结束,那么如果n是10,i不就从9开始到0结束吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 修改了问题 10月28日
  • 创建了问题 10月28日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分