【发布时间】:2023-03-09 16:39:01
【问题描述】:
这是一种不太常见的初始化数组的方法:
int a[3] = {[2] 5, [0] 10, [1] 15};
在程序中使用了这个数组,
#include <stdio.h>
int main() {
//code
int a[3] = {[2] 5, [0] 10, [1] 15};
printf("a[0] = %d a[1] = %d a[2] = %d\n", a[0], a[1], a[2]);
return 0;
}
输出:
a[0] = 10 a[1] = 15 a[2] = 5
在线编译器链接: http://code.geeksforgeeks.org/4onQAI
所以,我有一个问题:
初始化数组的方法正确吗?
【问题讨论】:
-
printf("%d\n",,a[2]);编译了吗? -
不,这不是初始化数组的正确方法。这不是有效的 C++。
-
C 和 C++ 不一样
-
ICC 接受它,因为 GCC 接受它。但这并不正确。
-
很清楚OP在问什么。投票决定重新开放。