我对C语言编程还是很陌生,因此我花了很多时间寻找解决方案,但找不到解决方案。 我正试图要求用户输入字母c或f并根据选择的字母进行正确的打印。
#include <stdio.h>
#include <conio.h>
void startScreen();
char choice[1];
int main()
{
startScreen;
_getch();
return 0;
}
void startScreen()
{
printf("Please choose c or f\n");
scanf("%s", choice);
if (choice[0] == 'f' || choice[0] == 'F')
printf("Good choice");
if (choice[0] == 'c' || choice[0] == 'C')
printf("Good luck");
}
感谢我能获得的所有帮助,谢谢!
答案 0 :(得分:0)
谢谢Chad Estes和Ahmed Aboumalek,我结合了你们俩的观点,它奏效了!
#include <stdio.h>
#include <conio.h>
void startScreen();
int main()
{
startScreen();
_getch();
return 0;
}
void startScreen()
{
char c;
do
{
scanf_s("%c", &c);
switch (c)
{
case 'f':
case 'F':
printf("Good choice");
break;
case 'c':
case 'C':
printf("Good luck!");
break;
default:
printf("Invalid input. Try again.");
break;
}
}
while (c != 'c' && c != 'C' && c != 'f' && c != 'F');
}
答案 1 :(得分:-1)
我的C很生锈,但是我想您遇到的问题是调用此命令并输入“ C”或“ F”以外的内容时。看来您需要像这样更改startScreen()函数:
void startScreen()
{
printf("Please choose c or f\n");
do {
scanf("%s", choice);
switch(choice[0]) {
case 'f':
case 'F':
printf("Good choice");
break;
case 'c':
case 'C':
printf("Good luck");
break;
default:
printf("Invalid input. Try again.");
}
} while (choice[0] != 'c' && choice[0] != 'C' && choice[0] != 'f' && choice[0] != 'F');
}