首页 文章

如何在switch-case中使用函数?

提问于
浏览
-1

嘿,我搜索了它,但我找不到......我需要一个函数来获取用户在交换机情况下的信息 .

switch (/* FUNCTION  */) {

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

2 回答

  • 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 ...
        }
    }
    
  • 0

    只要该函数返回一个整数类型,你就可以这样做 . 所以给出:

    int someFunction( void ) ;
    

    然后:

    switch( someFunction() )
    {
        ...
    

    已验证 . 它与以下几点不同:

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

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

相关问题