我在C中有一段代码如下:
main() { int a=10, b; a>=5 ? b=100 : b=200 ; printf("%d" , b); }
在unix中运行gcc编译器上的代码会将编译时错误生成为'赋值左值所需的左值',并将错误指向b = 200,而在使用Turbo C编译的窗口中,将200作为输出.
任何人都可以解释一下这种情况究竟发生了什么?
c gcc turbo-c
c ×1
gcc ×1
turbo-c ×1