gpt4 book ai didi

c - Switch 语句不执行案例 (c)

转载 作者:行者123 更新时间:2023-11-30 15:36:12 26 4
gpt4 key购买 nike

我做了一个 switch 语句,但是,它只适用于已经设置的常量。如果我尝试将它与用户输入一起使用,则只有一种情况有效,而其他情况则无效。现在无论我输入什么,它总是使用默认大小写。我尝试添加另一个 getchar() 来清除缓冲区中的 \n 字符,但这并没有什么区别。我将在这里发布整个 switch 语句:

      char option=' ';
option=getchar();
switch(option){

//Parallel resistance calculations
case 'p':
CLEAR
//PResistance();
printf("RESISTANCE");
getchar();
break;

//Ohm's Law calculations
case 'o':
CLEAR
printf("OHM");
//Ohm();
break;

//Exits program
case 'q':
printf("Good bye! Stay safe in the laboratory! :)\nPress any key to exit");
getchar();
exit(0);
break;

//Error checking
default :
printf("Invalid input, Try again");
break;

}


}
while (option!='q');

我注释掉了这些函数,这样我就可以使用打印语句来测试它是否工作。

最佳答案

每当您在 C 中从 stdin 输入字符字符串时,请始终确保不存在 \n 在输入缓冲区中。为此,请在获取integerfloat 输入后始终使用getchar()

就您而言,也许您在输入字符之前输入了整数。因此,请尝试在获取字符输入之前编写getchar()

关于c - Switch 语句不执行案例 (c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22624430/

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