错误:需要左值。需要解释

时间:2017-10-13 14:48:12

标签: c

#include<stdio.h>

int main()
{
    int n = 0, y = 1;

    y == 1 ? n=0 : n=1;

    if(n)
        printf("Yes\n");
    else
        printf("No\n");

    return 0;
}

1 个答案:

答案 0 :(得分:0)

?:运算符并不像那样工作。你想做的是:

n = ((y == 1) ? 0 : 1);

在更一般的情况下,如果您想根据条件执行操作,请使用if。 ?:运算符更多用于根据条件返回值。