c - 如何在 C 语言的 if 语句中定义运算符(+、-、*、/)?
问题描述
我想用C语言做一个计算器。当我从用户那里获取输入时,如果不是来自 +、-、* 或 /,我想打印“请输入运算符”。我的代码是这样的:
#include<stdio.h>
#include<math.h>
int main(){
int sayi1,sayi2;
char operator;
printf("HESAP MAKINESI V1.0\n");
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 != '/')) {
在这里,逻辑与运算符的&&
计算结果为真,两个操作数都为真。
推荐阅读
- spring - Spring - 通过@Value 读取具有多行属性值的 YAML
- java - RecycleView 中的 Picasso 未加载图像(可能是路径错误)
- jenkins-pipeline - CloudBees:管道作业:保留建立在条件匹配删除永久工件吗?
- box-api - Box:如何将文件下载到特定文件夹?
- python - 如何在没有 classmethods 但添加时不起作用的 defs 上使用 classmethods
- mongodb - Mongodb 删除孤立文件
- java - Java中的加密,而解密方法是已知的
- python - Python 请求 - 返回对 PHP 的响应
- python-3.x - ChainerCV SSD512 模型未训练
- webview - Electron - 防止 webview 访问本地文件