为什么 C 在第一个 for 循环之后不执行任何操作?
Why does C not execute anything after the 1st for loop?
我刚刚开始学习一些基本的 C,在尝试 运行 这个特定的代码片段时我没有遇到任何错误:
#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
您从未初始化 p。
尝试:for(int p = 0; p < 3; p++) {
...
}
我刚刚开始学习一些基本的 C,在尝试 运行 这个特定的代码片段时我没有遇到任何错误:
#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
您从未初始化 p。
尝试:for(int p = 0; p < 3; p++) { ... }