我试图让我的程序只在用户输入y或Y时运行,但它只运行一次,即使它不是Y或Y。输入将是Y,y,N或n
printf("Welcome to the Jumble Puzzle Solver!\n\n");
printf("Would you like to enter a jumbled word?\n");
scanf("%s", &answer);
do{
printf("What word would you like scored?\n");
scanf("%s", &letters);
strcpy(changeletters, letters);
recursivepermute(letters, changeletters, checkword, k, dictionary ,max, min);
printf("Would you like to enter a jumbled word?\n");
scanf("%s", &answer);
}while (answer == 'Y' || answer == 'y');发布于 2012-10-13 07:55:08
do { } while()使主体始终至少执行一次。如果您希望先检查条件,只需使用while:
// If answer is:
// char answer;
scanf("%c", &answer);
while (answer == 'Y' || answer == 'y')
{
printf("What word would you like scored?\n");
// ...
scanf("%c", &answer);
}如果answer是一个char,你也需要使用scanf("%c"。%s将扫描一个字符串(即:char[20]),并且需要使用strcmp或类似的方法进行不同的检查。
发布于 2012-10-13 07:59:54
如果您想让用户玩一次游戏,然后被要求再次玩游戏,那么使用do-while循环更合适。但是,如果您想让用户选择根本不玩游戏,那么可以使用while循环
https://stackoverflow.com/questions/12868604
复制相似问题