【问题标题】:Weird printf output in C (unknown characters & signs) [closed]C中奇怪的printf输出(未知字符和符号)[关闭]
【发布时间】:2013-10-28 06:05:01
【问题描述】:

我刚开始得到一个奇怪的printf 输出,有人见过吗?知道它可能是由什么引起的吗? http://imgur.com/4Mt6xdi

编辑

这是代码。我是 c 新手,所以如果有任何东西(即使它没有导致错误)看起来错误或不常见,请告诉我。

       printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
       fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);

【问题讨论】:

  • 您必须发布代码。
  • 发布您的代码,只有我们可以说。
  • 假设我在浏览时禁用了图像。现在呢?
  • 有关您编写的代码问题的问题必须在问题本身中描述具体问题——并包含有效代码以重现它。请参阅SSCCE.org 获取指导。

标签: c printf output


【解决方案1】:

在你写的代码中:

if (x[0]*oldx<0)
{
   printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
   fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);
}

其中f2 是指向FILE 的指针,不应作为printf 的第一个参数传递。只需将其删除。

【讨论】:

    【解决方案2】:

    第 96-97 行至少有一个问题:

       printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
       fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);
    

    第一行应该调用fprintf,而不是printf

    任何编译器都应该至少给你一个警告来调用printf 并以FILE* 作为第一个参数。你看到这样的警告了吗?如果是这样,你为什么忽略它?

    在启用附加警告的情况下编译应该会显示许多其他问题。在做任何其他事情之前修复这些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      相关资源
      最近更新 更多