gpt4 book ai didi

c - 传递多个值以切换用逗号分隔值

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:29 25 4
gpt4 key购买 nike

我可以将多个值传递给 switch case 语句,用逗号分隔不同的值吗?表达式的计算结果是什么?如果没有错误发生,编译器将使用多个值中的哪个来评估开关?请记住逗号运算符的低优先级?比方说我写的代码如下:

int m=10;
switch(m, m*2)
{
case 10: printf("\n case 10");
case 20: printf("\n case 20");
case 30: printf("\n case 30");
default: printf("\n no case");
}

最佳答案

逗号运算符计算所有表达式并返回最右边的值。 (在 switch 中使用它没有任何区别。)

您的示例与 switch (m*2) 完全相同,但是如果前面的任何表达式有副作用,这些副作用将在 switch 之前应用> 语句被执行。

关于c - 传递多个值以切换用逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18302808/

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