请注意,我正在做这个奇怪的任务,不是因为我不清楚语法或对 c 不熟悉。
我只是在尝试如果为 int 分配一个数组会发生什么:
int a = {1, 2, 3};
为此,我收到以下警告:
warning: excess elements in scalar initializer
int a = {1, 2, 3};
^
warning: excess elements in scalar initializer
int a = {1, 2, 3};
^
当我打印 a 的内容时,我得到1
.
但是当我这样做时:
int a;
a = {1, 2, 3};
我收到一个错误:
error: expected expression before ‘{’ token
a = {1, 2, 3};
^
虽然我知道数组并不意味着分配给int
变量,但上述结果让我产生疑问:
int x; x = ...
和之间的区别int x = ...
和
- 究竟是什么导致了警告或错误消息?