在其他函数中调用mu函数时,如何使它们停止发挥联合作用?

Just Eugene Gan Chua Francisc

我计划在以后的函数中使用read_command。我该如何做,以使我的read_command不会继续打印“ Enter a command:”。我希望将来在if语句中使用此功能。

    #include <stdio.h>
    #include <stdbool.h>

    char read_command()
    {
        char command;
        char result;

        printf("Enter a command: ");
        scanf("%c", &command);
        if (command  == 'I' || command == 'i' || command == 'P' || command == 'p' || command == 'D' || command == 'd' || command == 'L' ||        command == 'l' || command == 'Q'|| command == 'q')

            result = command;
        else

            result = 'V';

        return result;

    }

    void print_music_lib()
    {
       if (read_command == 'P'|| read_command == 'p')
       {
          printf("Only prints when case is P or p");
       }
    }



  void evaluate_command()
  {


       while (true)

       {
           char valid_command = read_command();
           scanf("%c", &valid_command);
           switch(valid_command)

           {
               case 'I':
               case 'i':
                     printf("This is the letter I or i\n");
               case 'P':
               case 'p':
                     printf("This is the letter P or p\n");
               case 'D':
               case 'd':
                     printf("This is the letter D or d\n");
               case 'L':
               case 'l':
                     printf("This is the letter L or l\n");
               case 'Q':
               case 'q':

                     printf("This is the letter Q or q\n");
            //on_quit = valid_command;

    }
    if (valid_command == 'Q' || valid_command == 'q')
         break;
    //return on_quit;
    }
}



   int main()
   {
       read_command();
       //printf("%c", read_command());
       evaluate_command();

       return 0;
   }
一些程序员哥们

您基本上只有两种解决方案:

  1. 不要在函数内部打印提示,而是在调用之前在调用函数中打印提示read_command

  2. 添加一个布尔参数,该参数告诉函数是否应打印提示。


顺便说一句,在显示的代码中您有一个逻辑错误(语法错误除外):

if (read_command() == 'P'|| read_command() == 'p')

您实际上是两次读取输入,并且当然会迫使用户两次写入输入。相反,您应该将结果存储在变量中,然后检查变量:

char result = read_command();
if (result == 'p' || result == 'P') { ... }

顺便说一句,这还将解决提示问题:一个呼叫,一个提示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在其他函数内部调用中函数?

您如何在其他函数中调用OnVolumeDown?

如何在其他脚本的任何其他函数中调用包含参数的函数?

在其他构造函数的调用中调用构造函数时,C ++编译错误

在其他函数中调用时,Javascript函数不起作用

[Python]在其他函数中调用的数组函数

在Javascript中,如何从该函数中调用但在其他位置定义的函数中引用函数范围的变量?

当我尝试在其他函数中调用Phaser.Group.create()时出错

在其他控制器中调用范围函数

Android Kotlin在其他活动中调用函数

在其他函数中未调用装饰器

在其他函数中定义函数

如何调用在其他控制器中定义的函数?

如何在其他函数中获取deviceValue?

如何在其他函数中引用类对象?

如何在其他函数中引用对象?

JQuery 函数在其他函数之后不起作用

在其他方法/函数中的构造函数中调用对象

使变量在其他函数中可用

在其他函数中访问变量

联合作为C中函数的参数

R在其他函数内部调用时如何获取函数定义

在不使用全局函数的情况下在其他函数中调用变量

使用Vue.js在其他函数中调用onclick函数

在其他函数中多次调用一个函数

相同的代码在main()中起作用,但在其他函数中不起作用

Fortran:在函数中调用其他函数

当存在其他构造函数时,如何强制创建默认序列构造函数?

如何在其他函数中使用函数?