C程序:switch语句中的if语句

C程序:switch语句中的if语句,c,C,我试图创建一个程序,将切换“模式”。例如,下面是代码的一小部分: int main() { int mode,input; mode = 1; for(;;) { scanf("%d", &input); switch(input) case 1: if(mode = 1) { //statements go here; mode = 2; }

我试图创建一个程序,将切换“模式”。例如,下面是代码的一小部分:

int main()
{
int mode,input;
mode = 1;
   for(;;)
   {
   scanf("%d", &input);
      switch(input)
      case 1: 
         if(mode = 1)
         {
         //statements go here;
         mode = 2;
         }
         else
         {
         //statements go here;
         mode = 1;
         }
      break;
   }
}
所以我要做的是让程序通过输入1按钮在模式1和模式2之间切换。但是,每次我按下数字1键时,如果我第二次按下数字1按钮,它将只打印模式1的语句,而不会切换到模式2并打印模式2的语句。我的代码有什么根本性的错误吗


*限制:我必须在程序中使用switch语句。

要测试变量的值,需要双等于:


if(mode==1)

输入错误
if(mode=1)
if(mode==1)
为避免此类问题,最好的编程实践是在左侧保持常量值(即,
1==mode
)。这不是文章中的输入错误,而是程序中的输入错误。这就是问题所在。谢谢:)@MadMaximus因为这是一个单一字符的问题,它有很好的机会被关闭为“琐碎的打字错误”。但是问题本身是好的,格式也很好。无需在前言中介绍关于“此处新增,请原谅格式错误”的问题)如果你注意到格式错误,你可以用左下角的小灰色“编辑”按钮编辑你的文章。学习C.哦,祝你玩得开心。这解决了问题。多谢各位