TC与vc6.0不同?该怎么处理
TC与vc6.0不同?
#include<stdio.h>
void main()
{
float f1,f2,f3;
printf("please input three nums:");
scanf("%f,%f,%f",&f1,&f2,&f3);
printf("%f %f %f",f1,f2,f3);
}
TC与vc6.0运行结果不同,比如输入4.4,5.2,6.3 在TC中运行结果是 4.400000 5.200000 6.300000
而在vc6中则是4.400000 -107374176.000000 -107374176.000000
这为什么?有高手能告诉我这个菜鸟!有请详细赐教,多谢!
------解决方案--------------------
VC2010 Express Edtion运行正常;
VC6.0运行正常,不知道楼主什么情况。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
经过我的实验还原了你的问题:
1,你的编译方式设置为debug。
2, 在输入时f2和f3没有被赋值,它们的原始数据内容都为0xcccccccc,解释成float值就是-107374176.000000
3,如果你输入4.4,5.2,6.3这样是没有任何问题的,但在4.4或5.2或6.3后面不可跟空格,逗号后面可以跟空格。
4,请多多参考《C语言参考手册》第五版。
#include<stdio.h>
void main()
{
float f1,f2,f3;
printf("please input three nums:");
scanf("%f,%f,%f",&f1,&f2,&f3);
printf("%f %f %f",f1,f2,f3);
}
TC与vc6.0运行结果不同,比如输入4.4,5.2,6.3 在TC中运行结果是 4.400000 5.200000 6.300000
而在vc6中则是4.400000 -107374176.000000 -107374176.000000
这为什么?有高手能告诉我这个菜鸟!有请详细赐教,多谢!
------解决方案--------------------
VC2010 Express Edtion运行正常;
VC6.0运行正常,不知道楼主什么情况。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
经过我的实验还原了你的问题:
1,你的编译方式设置为debug。
2, 在输入时f2和f3没有被赋值,它们的原始数据内容都为0xcccccccc,解释成float值就是-107374176.000000
3,如果你输入4.4,5.2,6.3这样是没有任何问题的,但在4.4或5.2或6.3后面不可跟空格,逗号后面可以跟空格。
4,请多多参考《C语言参考手册》第五版。