为什么for循环在开关外壳控制中不起作用?

Why for loop is not working in switch case control?

提问人:Himanshu Singh 提问时间:7/4/2022 最后编辑:Himanshu Singh 更新时间:7/4/2022 访问量:61

问:

如果控制 1 for 循环未执行。我不明白为什么?

在控制 1 的情况下,printf 函数有效,但 for 循环不起作用。编译后,turboc++没有收到错误和警告消息。

我尝试的程序:-

    '''
    #include<studio.h>
    #include<conio.h>
    void main()
    {

    clrscr();
    int fun,inp,i;
    printf ("Enter a number = 
            = ");
    scanf ("%d",&inp);
    printf ("\n");

    printf ("Enter 1 for 
            reverse the number 
            \n");
    printf ("ENTER = ");
    scanf ("%d",&fun);
    printf ("\n");

    switch (fun)
    {
     case 1 :
     printf ("\n Case 1 \n");
     for (i=0;i>=inp;i++)
     {
      printf ("\n %d \n",inp);
      inp=inp-1;
     }
     break;
    }

    getch();
    }
    '''
c for-loop switch-statement turbo-c ++

评论

0赞 Jonathan Leffler 7/4/2022
你有很多格式错误的代码——请修复它。例如,拆分为两行是无效的 C。printf ("Enter a number == ");

答:

0赞 Joël Hecht 7/4/2022 #1

您可以将循环更改为:for

for (i=0; i<=inp; i++)  // Note the comparison operator
{
  printf ("\n %d \n",inp);
  inp=inp-1;
}

或者用少一个变量来缩短一点:

while (inp >= 0)
{
  printf ("\n %d \n",inp);
  inp--;
}

评论

0赞 Himanshu Singh 7/4/2022
谢谢乔尔·赫克特(Joel Hecht)解决了我的问题