C++ 输入字符 问题
#include"stdafx.h"voidmain(){floata,b;charc;printf("inputexpression:a+(-,*,/)b\n");sc...
#include "stdafx.h"
void main(){
float a, b;
char c;
printf("input expression: a+(-,*,/)b \n");
scanf_s("%f%c%f", &a, &c, &b);
switch (c){
case '+': printf("%f\n", a + b); break;
case '-': printf("%f\n", a - b); break;
case '*': printf("%f\n", a * b); break;
case '/': printf("%f\n", a / b); break;
default: printf("a=%a,b=%b,c=%c input error\n", a, b, c);
}
scanf_s("%f",&a);
}
这段代码其实是C语言的,只是将scanf换成了scanf_s。
请问怎样输入才能算出10+11的值?请说的详细一些,包括回车和空格。
例如,我输入了
1,0,回车,+,回车
以后就出错了。 展开
void main(){
float a, b;
char c;
printf("input expression: a+(-,*,/)b \n");
scanf_s("%f%c%f", &a, &c, &b);
switch (c){
case '+': printf("%f\n", a + b); break;
case '-': printf("%f\n", a - b); break;
case '*': printf("%f\n", a * b); break;
case '/': printf("%f\n", a / b); break;
default: printf("a=%a,b=%b,c=%c input error\n", a, b, c);
}
scanf_s("%f",&a);
}
这段代码其实是C语言的,只是将scanf换成了scanf_s。
请问怎样输入才能算出10+11的值?请说的详细一些,包括回车和空格。
例如,我输入了
1,0,回车,+,回车
以后就出错了。 展开
3个回答
展开全部
更多追问追答
追问
我用的是visual studio C++,系统中不让用scanf,只让用scanf_s,但是这样却报错。
但是tobox C中却可以(用的scanf),到底是怎么回事?如何在visual studio里编?
追答
scanf_s 在调用的时候,要加一个数字,告诉函数最多读取几个字符
scanf_s("%c",&d,1); // 后面的 1 就是读取一个字符
展开全部
scanf_s("%f%c%f", &a, &c, &b); 输入格式 是 数值符号数值
前两个 数值符号 之间 必须没有空白,后一个 可以有空白,也可以没有。
输入例子:
11+22回车
11-空格-12回车
-11+12回车
-11+空格-12回车
符号 只允许 +-*/, 不允许逗号。
---
后面那句 scanf_s("%f",&a); 可以改用 system("pause");
前两个 数值符号 之间 必须没有空白,后一个 可以有空白,也可以没有。
输入例子:
11+22回车
11-空格-12回车
-11+12回车
-11+空格-12回车
符号 只允许 +-*/, 不允许逗号。
---
后面那句 scanf_s("%f",&a); 可以改用 system("pause");
追问
system("pause");
在c++里怎么用啊?我用的是visual C++,说“未定义标识符system”。
追答
我用的就是visual C++。所有的C/C++都有 system(....);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入
10+11 回车
就可以了
函数最后那个scanf_s的语句删除掉
10+11 回车
就可以了
函数最后那个scanf_s的语句删除掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询