如何在C语言中定义if语句上的运算符(+、-、*、/)

  • 本文关键字:运算符 语言 语句 if 定义 c
  • 更新时间 :
  • 英文 :


我想用C语言制作一个计算器。当我接受用户的输入时,如果不是来自+、-、*或/,我想打印"请输入运算符"。我的代码是这样的:

#include<stdio.h>
#include<math.h>
int main(){
int sayi1,sayi2;
char operator;
printf("HESAP MAKINESI V1.0n"); 
printf("Islemi giriniz (+,-,*,/):n");
scanf("%c",&operator);  
if(operator != char(+,-,*,/)){
printf("Please use a operator");
return 0;}}

但我的代码不起作用。我该怎么修?

这:

if(operator != char(+,-,*,/))

不是正确的C语法。字符常量用单引号括起来,您必须单独比较每个字符。

if ((operator != '+') && (operator != '-') && (operator != '*') && (operator != '/')) {

这里,如果两个操作数都为true,则逻辑AND运算符&&计算为true。

在这种情况下,我宁愿使用switch .. case而不是if

IMO更容易读取和维护


void foo(int ch)
{
switch()
{
case '+':
case ':':
case '-':
case '*':
case '/':
/* do something */
break;
default:
/* do something if another chars */
break;
}
}

最新更新