我刚开始得到一个奇怪的printf
输出,有没有人见过这个?知道它可能是由什么造成的吗?
http://imgur.com/4Mt6xdi
修改
这是代码。我是新来的,所以如果有什么(即使它不会导致错误)看起来错误或不常见请告诉我。
printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);
答案 0 :(得分: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]);
}
其中f2
是指向FILE
的指针,不应作为printf
的第一个参数传递。只需删除它。
答案 1 :(得分: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
。
任何编译器都应该至少给出一个警告,以printf
作为第一个参数调用FILE*
。你有没有看到这样的警告?如果是这样,你为什么忽略它呢?
在启用其他警告的情况下进行编译应该会向您显示许多其他问题。在做其他任何事情之前解决这些问题。