鱼C论坛

 找回密码
 立即注册
查看: 914|回复: 6

[已解决]计算器程序输入+不起作用

[复制链接]
发表于 2022-1-17 16:11:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
//小计算器 
#include <bits/stdc++.h>
using namespace std;
int main(){
        float num1, num2;
        char op;
        
        scanf("%f%f%c", &num1,&num2,&op);
        
        switch(op){
                case'+':printf("%f", num1 + num2); break;
                case'-':printf("%f", num1 - num2); break;
                case'*':printf("%f", num1 * num2); break;
                case'/':if(num2 == 0){
                                        printf("除数不为零!");
                                }
                                else{
                                        printf("%f", num1 / num2);
                                }break;
                default:printf("INVALID OP");
        }
        
        return 0;
}
如上 , 是一个基本的计算器 , 但是我输入加号时它返回 INVALID OP , 不知道怎么回事 , 求解
最佳答案
2022-1-17 16:29:55
因为%c读取到的是所有ASCII字符,包括换行、空格等。你输入 123 456 + 这里前面两个 %f 读取 123 和 456 后,紧接着还有空格和字符 +,所以%c会先取空格。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-17 16:15:03 From FishC Mobile | 显示全部楼层
op 读取到空格?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-17 16:18:49 | 显示全部楼层

唔 , 我是一个参数一个空格输入的 , 但是scanf不是用空格分割参数嘛
屏幕截图 2022-01-17 161757.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-17 16:20:45 From FishC Mobile | 显示全部楼层
试试改成 scanf("%f%f %c", &num1,&num2,&op);
%f%f空格%c
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-17 16:23:50 | 显示全部楼层
傻眼貓咪 发表于 2022-1-17 16:20
试试改成 scanf("%f%f %c", &num1,&num2,&op);
%f%f空格%c

哇 , 可以了!
这是为什么呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-17 16:29:55 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
因为%c读取到的是所有ASCII字符,包括换行、空格等。你输入 123 456 + 这里前面两个 %f 读取 123 和 456 后,紧接着还有空格和字符 +,所以%c会先取空格。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-17 16:38:54 | 显示全部楼层
傻眼貓咪 发表于 2022-1-17 16:29
因为%c读取到的是所有ASCII字符,包括换行、空格等。你输入 123 456 + 这里前面两个 %f 读取 123 和 456 后 ...

所以读取字符类型时要空一格
明白了
谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 08:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表