【发布时间】:2021-06-27 02:27:54
【问题描述】:
我刚刚开始学习一些基本的 C 语言,在尝试运行这段特殊的 sn-p 代码时没有遇到任何错误:
#include <stdio.h>
void main()
{
float soln[5];
int a[4] = {2,3,-11,-6},d,e,r=1;
for (float y =-10.0000; y<=10.0000; y += 0.1)
{
d = a[0]*y*y*y + a[1]*y*y +a[2]*y + a[3];
if (d == 0)
{
printf("\n SOLUTION \t");
soln[e] = y;
printf("%f",soln[e]);
e+=1;
}
else
{
printf("\n %d NO SOLUTION %d \n",r,d);
r+=1;
}
}
printf("ok");
for( int p; p<3;p++)
{
printf(" %f ",soln[p]);
}
}
我试图做的是尝试求解一个 3 次多项式方程并将解存储在另一个数组中,我想使用前面提到的第二个 for 循环来显示它。但是,在执行第一个 for 循环后,程序直接以 printf 语句结束,最后输出 Ok。对此的任何建议/帮助将不胜感激:D
【问题讨论】:
-
for( int p; p<3;p++)。需要将p初始化为那里的某个值。 -
哦,好吧,我试试看
-
soln[e] = y;查看e的值(未初始化)。提示:学习进行基本调试。在调试器中运行您的程序并逐行执行,检查运行时的变量和程序流程。 -
@kaylum 可以。感谢您的提示:D