gpt4 book ai didi

c - 数组初始化中数组元素的赋值

转载 作者:太空狗 更新时间:2023-10-29 17:26:20 27 4
gpt4 key购买 nike

<分区>

考虑以下简单程序:

#include <stdio.h>

int main(void)
{
int a[5] = { a[2] = 1 };
printf("%d %d %d %d %d\n", a[0], a[1],a[2], a[3], a[4]);
}

在 GCC 7.3.0 中输出

1 0 1 0 0

Considering that a[1] is zero, it seems that the initialization is similar to

int a[5] = { 1 };
a[2] = 1;

问题是:虽然初始化器可以是任何泛型表达式,但初始化和赋值的顺序是什么?

这是否有效且定义明确?它可以是实现定义的、未定义的还是未指定的?


这个问题与问题Confusion about Array initialization in C相关.

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com