使用goto后如何让程序正常运行?

问题描述

任何选择后,我想询问用户他们是否想再次使用该程序,或者退出。但是如果输入了 y,代码就不能正常工作了。我尝试了其他解决方案,如清除内存等,但我不是很有经验,所以我不知道我在做什么。也对我的语言感到抱歉。这是我的代码的一部分。我有 13 个不同的选择,每个选择都一样


    char str[100];
    int selection;
    char selection2;
    int i;
    begin:

    printf("Welcome to the Character/String Specification program\n");
    printf("Please enter whatever you want \n");
    scanf(" %s",str);

      printf("\nSelect the specification you want\n");
      printf("1) is your input a letter?\n");
      printf("2) is your input a whitespace?\n");
      printf("3) is your input a decimal digit?\n");
      printf("4) is your input a hexadecimal digit?\n");
      printf("5) is your input an upper-case letter?\n");
      printf("6) is your input a lower-case letter?\n");
      printf("7) is your input a letter or a decimal digit?\n");
      printf("8) is your input a control character?(ACSII 0..31 and 127)\n");
      printf("9) is your input a not a letter,digit,whitespace,or invisible control character?\n");
      printf("10)is your input a printable (ASCIII ' '..'~')\n");
      printf("11)is your input have a graphical representation\n");
      printf("12)Do you want to see your input as all upper characters?\n");
      printf("13)Do you want to see your input as all lower characters?\n\n");
      scanf(" %d",&selection);
      printf("\n");

      while(true)
      {
      if(selection == 1)
      {
       while(str[i])
          {
            if(isalpha(str[i]))
            {
                printf("%c is an alphabet\n",str[i]);
            }
            else
            {
                printf("%c is not an alphabet\n",str[i]);
            }
            i++;
          }
          printf("Do you want to go back to the start point? (y) for yes,(n) for no\n");
          scanf(" %c",&selection2);
          if(selection2=='y')
          {
              goto begin;
          }
          else if(selection2=='n')
          {
              printf("Goodbye\n");
              break;
          }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)