鱼C论坛

 找回密码
 立即注册
查看: 5571|回复: 11

scanf输入浮点数报错

[复制链接]
发表于 2013-7-20 09:22:17 | 显示全部楼层 |阅读模式
4鱼币
  1. #include <stdio.h>
  2. int main(void){
  3. float aa;
  4. scanf("%f", &aa);
  5. return 0;
  6. }
复制代码
无标题.png 这是什么情况?输入其他类型的数都没有问题,就只有浮点型要出这样的问题

最佳答案

查看完整内容

建议不要再用这种过时的编译器 查了一下资料微软给出的官方解释是:当应用程序从控制台读取的浮点值,到一个未初始化"浮动"类型的全局变量使用 scanf() 函数时,则会发生 R6002 浮点格式支持不加载"错误。 在使用任何格式输入的例程中读取值时,也会发生此错误。微软的官方解决方案:要变通解决此问题,初始化浮点变量或表达式中包含 scanf() 调用该例程中使用该变量。也就是不要只是获取,而不使用
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 09:22:18 | 显示全部楼层
本帖最后由 565123 于 2013-7-20 23:08 编辑

建议不要再用这种过时的编译器

查了一下资料微软给出的官方解释是:当应用程序从控制台读取的浮点值,到一个未初始化"浮动"类型的全局变量使用 scanf() 函数时,则会发生 R6002 浮点格式支持不加载"错误。 在使用任何格式输入的例程中读取值时,也会发生此错误。

微软的官方解决方案:要变通解决此问题,初始化浮点变量或表达式中包含 scanf() 调用该例程中使用该变量。

也就是不要只是获取,而不使用
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 10:28:59 | 显示全部楼层
{:7_154:}窝曹好神奇。我刚开始照你的写法打,测试输入同样出现错误。

后来我加了一条printf("%g",aa);  就好使了。然后我把这句删了……同样无错误……
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 16:52:54 | 显示全部楼层
vc6的BUG?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 17:24:49 | 显示全部楼层
你确定吗????我在 《C++反汇编与逆向技术揭秘》这本书里看到了类似的例子,可以参考P20,P21页,是因为未初始化浮点寄存器的问题。

你这里已经声明了float类型的变量了,不应该啊。不解!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 17:25:27 | 显示全部楼层
你确定吗????我在 《C++反汇编与逆向技术揭秘》这本书里看到了类似的例子,可以参考P20,P21页,是因为未初始化浮点寄存器的问题。

你这里已经声明了float类型的变量了,不应该啊。不解!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-20 18:04:39 | 显示全部楼层

我是之前写的代码都是正确的,就是最近两次写的就开始出现这个问题了,还一直调试不过来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-20 18:06:45 | 显示全部楼层

应该不像,刚学C的时候还是正常的,就是最近学到那个链表那儿,写了动态链表的程序就成这样了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-20 18:08:04 | 显示全部楼层
编程难 发表于 2013-7-20 17:25
你确定吗????我在 《C++反汇编与逆向技术揭秘》这本书里看到了类似的例子,可以参考P20,P21页,是因为未 ...

等待各位大侠解决
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 19:24:26 | 显示全部楼层
楼主,建议把%f改成.2f或者是.3f。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 20:04:59 | 显示全部楼层
我电脑上的VC++6.0运行lz的程序没有报错,可以正常运行.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-21 09:04:40 | 显示全部楼层
565123 发表于 2013-7-20 09:22
建议不要再用这种过时的编译器
查了一下资料微软给出的官方解释是:当应用程序从控制台读取的浮点值,到一 ...

还真是这样,动态开辟空间的那个程序也运行通过了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-19 00:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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