-2

我刚开始得到一个奇怪的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]);
4

2 回答 2

2

在您编写的代码中:

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]);
}

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

于 2013-10-28T06:29:16.997 回答
1

第 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

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

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

于 2013-10-28T06:31:35.013 回答