gpt4 book ai didi

c - switch case 主体中条件语句的行为(C 语言)

转载 作者:太空宇宙 更新时间:2023-11-04 05:47:24 24 4
gpt4 key购买 nike

<分区>

下面的代码片段可以正常工作,但如果我想在条件语句的第二部分为 retv 赋值,它会引发编译器错误。我正在使用 GCC C 编译器。谁能解释一下为什么?

代码

typedef enum {
mt1 = 23,
mt2 = 43,
mt3 = 53
} mts;

int getmt(mts value, int sign) {
int retv = -1;
switch(value) {
case mt1: sign == 0? retv=1 : retv; //ERROR if retv=0
break;
case mt2: break;
case mt3: break;
default: break;
}
return retv;
}
int main(void)
{
printf("val:%d\n", getmt(mt1, 0));
printf("val:%d\n", getmt(mt2, 0));
return 0;
}

错误

error: lvalue required as left operand of assignment
case mt1: sign == 0? retv=1 : retv=0; break;

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com