gpt4 book ai didi

c - 如何避免 if else 的多重链

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

您好,我有一段代码如下,我想避免使用多个 if else,有没有更好的方法:

if(strcmp(somename, "some") == 0)
{
fun();
}
else if(strcmp(somename,"some1") == 0)
{
fun();
}
else if(strcmp(somename,"some2") == 0)
{
fun();
}
else if(strcmp(somename,"some3") == 0)
{
fun();
}

最佳答案

您可以使用指向指针的指针和循环:

const char *ap[] = {"some", "some1", "some2", "some3", NULL};
const char **p = ap;

while (*p) {
if (strcmp(somename, *p) == 0) {
fun();
break;
}
p++;
}

关于c - 如何避免 if else 的多重链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37228969/

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