|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 , 不知道怎么回事 , 求解
因为%c读取到的是所有ASCII字符,包括换行、空格等。你输入 123 456 + 这里前面两个 %f 读取 123 和 456 后,紧接着还有空格和字符 +,所以%c会先取空格。
|
|