黑马程序员技术交流社区
标题:
判断题,求详解
[打印本页]
作者:
王海江1
时间:
2014-6-6 17:32
标题:
判断题,求详解
本帖最后由 王海江1 于 2014-6-13 22:27 编辑
看到一道判断题,大家来分析一下吧:
当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
对还是错??
求详解:
作者:
呀嘛咕
时间:
2014-6-7 00:55
可以使是的
如下面的代码:
第一组输入 :
当输入 1.1 2 时
输出 1 0.100000
这就说明 n=1 m=.1(0.100000) 而2根本没有进去
第二组输入也是一样的
当输出 2 1.1 时
m = 2.000000 n=1 后面的.1不会输入进去了
#include"iostream"
using namespace std;
int main()
{
int n;
double m;
//第一组输入
scanf("%d %lf",&n,&m);
printf("%d %f",n,m);
//第二组输入
scanf(" %lf %d",&m,&n);
printf("%f %d ",m,n);
return 0;
}
复制代码
作者:
魑魅魍魉121
时间:
2014-6-8 09:36
错。因为编译器会将数据向高字节的转换,但是可能会失去精度
作者:
王海江1
时间:
2014-6-10 22:41
呀嘛咕 发表于 2014-6-7 00:55
可以使是的
如下面的代码:
第一组输入 :
大牛,实在不好意思,太复杂了没明白
作者:
大龄产妇
时间:
2014-6-10 23:51
在用scanf输入的时候中间加个getchar()试试,把输入缓存区的/n取走就没问题了 再或者 加空格。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2