在C语言中同时执行无限循环

问题描述 投票:0回答:1

我是C语言的新手。我试图使用do while循环编写一个简单的程序。该程序应接受整数输入并打印出其平方。然后,它询问用户是否继续。如果输入是“ y”或“ Y”,它将继续进行下一轮,否则将退出循环。除“ y”,“ Y”,“ n”,“ N”之外,还有一个子句用于检查输入。如果是这样,它将重复提示,要求正确输入。

这里是我的代码-

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int num;
  char choice;
  char c;

  system("clear");
  do{
    printf("\nEnter a number: ");
    fflush(stdin);
    scanf("%d", &num);
    printf("Square of %d : %d", num, num*num);
    printf("\n\n");
    getchar();
    do{
      printf("Do you want to continue?(y/n): ");
      scanf("%c", &choice);
      getchar();
      if(choice != 'y' || choice != 'Y' || choice != 'n' || choice != 'N'){
        printf("\nInvalid Choice !! Press 'Y/y' or 'N/n'!!\n\n");
      }
    }while(choice != 'y' || choice != 'Y' || choice != 'n' || choice != 'N');
  }while(choice == 'y' || choice = 'Y');

  getchar();
  printf("\n\n");
  return 0;
}
c loops do-while
1个回答
1
投票

choice != 'y' || choice != 'Y'将始终为true。更改为choice != 'y' && choice != 'Y'

© www.soinside.com 2019 - 2024. All rights reserved.