c++小白,瞎写博客 2022-01-25 14:05 采纳率: 100%
浏览 62
已结题

一个关于c语言三目运算符的问题

 ###### 问题遇到的现象和发生背景

 ###### 问题相关代码,请勿粘贴截图

AA是一个全局数组变量

 ###### 运行结果及报错内容
三目运算符那行报错,显示必须是可以修改的左值
 ###### 我的解答思路和尝试过的方法
上下的效果一样,但是我很奇怪为什么下面三目运算符

```c
void AA_Config(uint8_t aa_num,uint8_t state)
{
if(state)
AA[aa_num]=1;
else
AA[aa_num]=0;

state ? AA[aa_num]=1 : AA[aa_num]=0;
}

```那行会报错
 ###### 我想要达到的结果

  • 写回答

2条回答 默认 最新

  • 书山客 2022-01-25 14:07
    关注

    用三目运算符赋值的正确写法是这样的
    AA[aa_num] = state ? 1 : 0;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月27日
  • 已采纳回答 1月25日
  • 创建了问题 1月25日