我是一个新手学习代码,所以这可能很简单,但我不明白发生了什么。C - while条件挂在条件
当我尝试运行以下代码时,它似乎挂在while
循环条件中,并且在此之后不执行任何代码。 !=
运营商是否不适合此?
我也尝试了do {} while
,一切运行正常,但只要我将运算符设置为'E'
,条件似乎仍然挂在那里,并没有脱离循环。
#include <stdio.h>
int main(void) {
float n, content;
char operator;
n = content = 0;
operator = 'a';
printf("Begin Calculations:\n");
while (operator != 'E');
{
scanf("%f %c", &n, &operator);
switch (operator) {
case 's':
case 'S':
content = n;
printf("= %f\n", content);
break;
case '+':
content = content + n;
printf("= %f\n", content);
break;
case '-':
content = content - n;
printf("= %f\n", content);
break;
case '*':
content = content * n;
printf("= %f\n", content);
break;
case '/':
content = content/n;
printf("= %f\n", content);
break;
case 'e':
case 'E':
printf("End of calculations\n");
operator == 'E';
break;
default:
printf("Invalid input\n");
break;
}
}
return 0;
}
'运营商== 'E';'会不会将e'转换为E'。请启用编译器警告! –