如何在开关盒中使用功能?

时间:2018-12-09 16:32:59

标签: c function switch-statement

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

switch (/* FUNCTION  */) {

在这种情况下如何使用功能?

2 个答案:

答案 0 :(得分:0)

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

int someFunction( void ) ;

然后:

switch( someFunction() )
{
    ...

有效。它与以下内容没有什么不同:

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

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

答案 1 :(得分: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 ...
    }
}
相关问题