C 无法正确读取输入值
C not reading values from input correctly
我是 C 的新手,在处理一个需要从控制台提取不确定数量的值的项目时,我发现它没有提取正确的值。看起来像是地址,我认为这意味着这是一个指针问题,但我似乎找不到它。
int getVals(int degree){
double sum;
double x;
double coefs[degree];
for(int counter = 0; counter<=degree; counter = counter+1){
double nxt;
scanf(" %d", &nxt);
coefs[counter] = nxt;
printf("coefs[%d] = %d\n", counter, coefs[counter]);
}
printf(" x ? ");
scanf(" %d", &x);
printf("degree %d x %d\n", degree, x);
sum = poly(x, degree, coefs);
printf ("polynomial evaluate to: %lf\n", sum);
int newDegree;
scanf(" %d", &newDegree);
degree = newDegree;
if(degree>-1){
getVals(degree);
}
else
return degree;
}
注意:poly returns 求值多项式的双精度结果
输入度数 1 和系数 1.5 后,我得到以下无限循环。它不允许我输入 x。
Infinite loop
我是 C 的新手,在处理一个需要从控制台提取不确定数量的值的项目时,我发现它没有提取正确的值。看起来像是地址,我认为这意味着这是一个指针问题,但我似乎找不到它。
int getVals(int degree){
double sum;
double x;
double coefs[degree];
for(int counter = 0; counter<=degree; counter = counter+1){
double nxt;
scanf(" %d", &nxt);
coefs[counter] = nxt;
printf("coefs[%d] = %d\n", counter, coefs[counter]);
}
printf(" x ? ");
scanf(" %d", &x);
printf("degree %d x %d\n", degree, x);
sum = poly(x, degree, coefs);
printf ("polynomial evaluate to: %lf\n", sum);
int newDegree;
scanf(" %d", &newDegree);
degree = newDegree;
if(degree>-1){
getVals(degree);
}
else
return degree;
}
注意:poly returns 求值多项式的双精度结果 输入度数 1 和系数 1.5 后,我得到以下无限循环。它不允许我输入 x。 Infinite loop