小编use*_*845的帖子

c中使用三元运算符的错误

我在C中有一段代码如下:

main()
{
    int a=10, b;
    a>=5 ? b=100 : b=200 ;
    printf("%d" , b);
}
Run Code Online (Sandbox Code Playgroud)

在unix中运行gcc编译器上的代码会将编译时错误生成为'赋值左值所需的左值',并将错误指向b = 200,而在使用Turbo C编译的窗口中,将200作为输出.

任何人都可以解释一下这种情况究竟发生了什么?

c gcc turbo-c

6
推荐指数
2
解决办法
1588
查看次数

标签 统计

c ×1

gcc ×1

turbo-c ×1