我正在开发一个程序,该程序应该不断询问用户输入,有点像菜单,直到他们选择退出选项为止。根据他们的选择,将根据选择进行某种操作。现在,我只是在尝试测试菜单是否将继续显示给用户,但是一旦我运行该程序,它将自动退出。这就是我所拥有的:
#include <stdio.h>
#include <string.h>
int main()
{
char str;
unsigned int hex;
int decimal;
while(str != 'Q'){
printf("Choose an Option (C, M, Q, S, V): ");
scanf("%c", &str);
if(str == 'C'){
printf("C working.");
break;
}
else if(str == 'M'){
printf("M working.");
break;
}
else if(str == 'S'){
printf("S working.");
break;
}
else if (str == 'V'){
printf("V working.");
break;
}
}
return 0;
}
Q是可以立即退出程序的选项,但其他选项则不会。
我得到的示例输出:
Choose an Option (C, M, Q, S, V): M
M working. (base)
答案 0 :(得分:2)
中断从while循环退出。 if
语句不是循环结构,因此break
用于最近的循环。
答案 1 :(得分:1)
答案 2 :(得分:0)
您需要初始化100vh
。
str
答案 3 :(得分:0)
似乎您只想在break
上'Q'
:
int main()
{
char str = null;
unsigned int hex;
int decimal;
while(1 == 1) { /* infinite loop until user breaks with a help of Q */
printf("Choose an Option (C, M, Q, S, V): ");
scanf("%c", &str);
if (str == 'Q') /* break on Q only */
break;
/* All the other cases: perform the operation and ask again */
if(str == 'C'){
printf("C working.");
}
else if(str == 'M'){
printf("M working.");
}
else if(str == 'S'){
printf("S working.");
}
else if (str == 'V'){
printf("V working.");
}
}
return 0;
}