小白猿很烦恼 2022-01-12 05:32 采纳率: 53.8%
浏览 54
已结题

为什么这个数组初始化的定位不成功。

加上[5]=6就不可以了,为啥?
#include<stdio.h>
int main()
{
int a[6]={[0]=2,4,[5]=6};
for(int i=0;i<6 ;i++){
printf("%d\t",a[i]);
}
return 0;
}

img

  • 写回答

2条回答 默认 最新

  • 关注

    在大括号内进行赋值。不会根据你所指定的位置来进行赋值。而是会根据逗号的位置来决定赋值。

    int a[6] = {a[0] = 2,4,a[5]=6};
        for (int i = 0; i < 6; i++) {
            printf("%d\t", a[i]);
        }
    

    img


    不过我想说的是,这么写属实没有什么意义

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月23日
  • 修改了问题 1月13日
  • 创建了问题 1月12日