作为 c 编程的新手(我只有 visual basic 方面的经验),我不完全确定条件语句中带有不断变化的字符串变量的 while 循环应该如何运行。
下面的代码是我制作的一个简单的计算器,它允许用户输入一个运算和两个数字,然后输出相应的结果。我试图在一个 while 循环中编写代码,该循环不断重复该过程,直到用户决定退出它。但是,似乎行 scanf("%c", &quit);不影响 while 循环条件语句。
#include <stdio.h>
int main() {
float num1, num2;
char operation;
char quit = "n";
while (quit = "n"){
printf("Enter an operator (+, -, *, /) \n");
scanf(" %c", &operation);
printf("Enter the numbers you wish to carry out the operation on \n");
scanf("%f %f", &num1, &num2);
switch(operation) {
case '+':
printf("%f\n", num1+num2);
break;
case '-':
printf("%f\n", num1-num2);
break;
case '*':
printf("%f\n", num1*num2);
break;
case '/':
printf("%f\n", num1/num2);
break;
}
printf("Would you like quit the program, is so enter 'y' \n");
scanf("%c", &quit);
}
return 0;
}
提前感谢您的所有帮助。
最佳答案
你可以这样做
#include <stdio.h>
int main() {
float num1, num2;
char operation;
char quit = 'n';
//while (quit = "n") //
while (quit!= 'y')
{
printf("Enter an operator (+, -, *, /) \n");
scanf(" %c", &operation);
printf("Enter the numbers you wish to carry out the operation on \n");
scanf("%f %f", &num1, &num2);
switch(operation) {
case '+':
printf("%f\n", num1+num2);
break;
case '-':
printf("%f\n", num1-num2);
break;
case '*':
printf("%f\n", num1*num2);
break;
case '/':
printf("%f\n", num1/num2);
break;
}
printf("Would you like quit the program, is so enter 'y' \n");
scanf("%c", &quit);
}
return 0;
}
关于c - While 循环 - 改变字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28571422/