int arr[3] = {[0 ... 3] = 1 }; 正确吗
时间: 2024-03-27 18:41:10 浏览: 104
C#程序设计语言模拟题 (3).pdf
这个语法其实是不正确的,因为数组 `arr` 的长度是 3 ,而 `[0 ... 3]` 这个语法表示的是包含 4 个元素的连续整数序列,所以这个初始化语句会导致数组越界,编译器会报错。如果想要将数组 `arr` 中所有元素都初始化为 1 ,可以使用以下方式:
```c
int arr[3] = {1, 1, 1};
```
或者使用下面这种指定初始化器的方式:
```c
int arr[3] = {[0] = 1, [1] = 1, [2] = 1};
```
这两种方式都可以正确地初始化一个包含 3 个元素且每个元素都为 1 的整型数组。
阅读全文