如何解决fPrintf 一个整数给出奇怪的结果
我正在编写需要调试的 C 代码。这就是我在文件中保存值“宽度”的原因。 代码是:
setlocale(LC_ALL,"en_US.UTF-8");
FILE* fp2;
fopen_s(&fp2,"test.txt","w");
width = 0.05;
fprintf(fp2," %d ",width);
fclose(fp2);
代码应该在文件中打印 0.05。但是,它正在打印 -1717986918。
当我在循环中保存值时,文件 0.05 应该被保存直到循环运行,但是 -1717986918 在循环运行时被保存。
有人可以帮我吗?
width
是一个浮点变量。
解决方法
您试图将 width
作为带有 %d
的整数输出,这会导致这种行为。如果您使用 %f
,它将正常工作。
正如您在注释中指定的那样,您的 width
变量是一个浮点数。
要 fprint 浮点数,您需要以这种方式使用 %f
:
fprintf(fp2," %f ",width);
有关 fprint 格式的更多信息,您可以查看以下 reference 或 wikipedia page for printf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。