在 C 语言中,为什么这个语句 'i = 5i' 编译并将 'i' 设置为零?
In C, why this statement- 'i = 5i' compiles & sets 'i' to zero?
在 GCC 中,以下 C 代码编译正确-
int i = 7;
i = 5i;
printf("%d", i);
并打印- 0
.
i = 5i
的说法显然没有道理。那么到底为什么代码没有给出任何编译错误呢?为什么 i
变成 0
?
这是一个GCC extension for representing the imaginary component of complex numbers。
如果您使用 -pedantic
和 -Werror
进行编译,编译器会报错:http://ideone.com/PMlZr5.
在 GCC 中,以下 C 代码编译正确-
int i = 7;
i = 5i;
printf("%d", i);
并打印- 0
.
i = 5i
的说法显然没有道理。那么到底为什么代码没有给出任何编译错误呢?为什么 i
变成 0
?
这是一个GCC extension for representing the imaginary component of complex numbers。
如果您使用 -pedantic
和 -Werror
进行编译,编译器会报错:http://ideone.com/PMlZr5.