gpt4 book ai didi

c - 除了 "If"语句之外,还有其他处理输入的方法吗?

转载 作者:行者123 更新时间:2023-12-02 05:01:22 24 4
gpt4 key购买 nike

我是 C 和一般编程的初学者(我已经使用 C/C++ 编程两年了),我做过的唯一类型的程序是命令行数学处理器,它接受参数并在他们。没有根据输入的内容来 fork 要做什么。我不知道该怎么做,所以我最近一直在按照如下方式设计我的程序:

printf("What feature to use?");
int response;
scanf("%d", response);
if (response == 1)
{
feature01();
}
if (response == 2)
{
feature02();
}

...我继续这样。对于我的程序通常只有不到 10 个独特的功能,这是可以的,但只是暂时的。如果我曾经编写过具有 50-100 个独特分支功能的程序,则可能会出现问题。如何在不使用上述方式的 if 语句的情况下处理输入并分支到不同的功能?

最佳答案

在许多情况下,您可以用 switch 替换一系列关于互斥值的 if 语句:

switch (response)
{
case 1:
feature01();
break;
case 2:
feature02();
break;
default:
featureXX();
break;
}

这大致相当于:

if (response == 1)
{
feature01();
}
else if (response == 2)
{
feature02();
}
else
{
featureXX();
}

...除了编译器可以进一步优化switch

关于c - 除了 "If"语句之外,还有其他处理输入的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17014593/

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