我现在正在学习C,而且我刚刚开始。
这是我的代码:
#include <stdio.h>
int main (){
char operator;
double num1;
double num2;
double result;
printf("\n Enter an operator");
scanf("%c", &operator);
printf("Enter number 1:");
scanf("%lf", &num1);
printf("Enter number 2:");
scanf("%lf", &num2);
switch(operator){
break;
case '+':
result = num1 + num2;
printf("\nresult: %.0lf", result);
break;
case '-':
result = num1 - num2;
printf("\nresult: %.0lf", result);
break;
case '*':
result = num1 * num2;
printf("\nresult: %.0lf", result);
break;
case '/':
result = num1 / num2;
printf("\nresult: %lf", result);
break;
default:
printf("%c is not valid", operator);
}
return 0;
}
如果我输入 / / * + 或 - 以外的运算符,则在输入数字后会收到“x 无效”的信息,因此我需要您的帮助。如果我一开始输入了错误的运算符,我该如何结束代码,这样我就不必输入该数字?
我想到使用break函数。或 if-else 但是,我无法做到这一点。
感谢您的帮助!
如果我输入错误的运算符,我希望代码立即显示“错误的运算符”错误。
我想到使用break函数。或 if-else 但是,我无法做到这一点。
您可以使用任何 if 语句吗?或者只是您不能使用 if-else 来检查输入运算符是否分别等于每个有效运算符?
如果您可以使用一个 if 语句,则可以使用 strchr(),它检查是否在字符串中找到字符(输入)(有效运算符):
const char *valid_chars = "//*+-";
printf("\n Enter an operator");
scanf("%c", &operator);
if (!strchr(valid_chars, operator) {
printf("Wrong operator");
}