-1

嘿,我搜索了它,但我找不到......我需要一个函数来从开关盒中的用户那里获取信息。

switch (/* FUNCTION  */) {

在这种情况下如何使用函数?

4

2 回答 2

0

只要函数返回一个整数类型,你就可以做到这一点。所以给出:

int someFunction( void ) ;

然后:

switch( someFunction() )
{
    ...

已验证。它与以下内容略有不同:

int x = someFunction() ;
switch( x )
{
    ...

但后者可以说更容易调试。例如,您可以单步执行后者,并从值中知道x将输入哪个案例,并有机会修改x以强制替代路径。前者除了简洁之外没有什么优点。

于 2018-12-09T16:51:30.757 回答
0

编写一个要求用户输入的函数,然后在 switch 表达式中调用该函数。例如:

int getInt(void)
{
    int i;
    printf("enter number:\n");
    if (scanf (" %d", &i)==1) return i;
    return 0;
}

int main()
{
    //...
    switch (getInt()) {
    case 0: printf("Error\n"); break;
    case 1: //...
    case ...
    }
}
于 2018-12-09T16:52:52.553 回答