C &引用;未初始化的局部变量“;错误,尽管定义了变量?
这是密码。它表示变量未初始化,尽管在主函数之后的代码顶部定义了它C &引用;未初始化的局部变量“;错误,尽管定义了变量?,c,C,这是密码。它表示变量未初始化,尽管在主函数之后的代码顶部定义了它 #include<stdio.h> int main() { int n, sum=0; i=0; printf("Please enter a number to evaluate\n"); scanf_s("%d",&n); for(i=0; i<=n; i++) { double(sum) = sum + double(1/n); }
#include<stdio.h>
int main()
{
int n, sum=0; i=0;
printf("Please enter a number to evaluate\n");
scanf_s("%d",&n);
for(i=0; i<=n; i++)
{
double(sum) = sum + double(1/n);
}
sum = (int)sum;
if(sum == 1)
{
printf("Adding %d 1/%d's gives a result of 1\n",n,n);
}
if(sum <= 1)
{
printf("Adding %d 1/%d's gives a result less than 1\n",n,n);
}
if(sum >= 1)
{
printf("Adding %d 1/%d's gives a result greater than 1\n",n,n);
}
return(0);
}
#包括
int main()
{
int n,和=0;i=0;
printf(“请输入一个要评估的数字\n”);
扫描频率(“%d”和“&n”);
对于(i=0;i请在sum=0;
之后删除分号并更改
int n, sum=0; i=0;
到
或者将int n,sum=0;i=0;
更改为
int n, sum=0; int i=0;
旁注:
声明
double(sum) = sum + double(1/n);
是错误的。如果通过强制转换表示双(和)
,则它不是有效语法。如果它类似于(双)和
,则仍然是错误的,因为=
需要l值作为其左操作数。
我建议您将sum
声明为double
,并将其重写为
int n = 1, i;
printf("Please enter a number to evaluate\n");
scanf_s("%d",&n);
double sum = 0.0;
for(i=0; i<=n; i++)
{
sum = sum + (1.0/n);
}
int n=1,i;
printf(“请输入一个要评估的数字\n”);
扫描频率(“%d”和“&n”);
双和=0.0;
对于(i=0;i请在sum=0;
之后删除分号并更改
int n, sum=0; i=0;
到
或者将int n,sum=0;i=0;
更改为
int n, sum=0; int i=0;
旁注:
声明
double(sum) = sum + double(1/n);
是错误的。如果通过强制转换表示双(和)
,则它不是有效语法。如果它类似于(双)和
,则仍然是错误的,因为=
需要l值作为其左操作数。
我建议您将sum
声明为double
,并将其重写为
int n = 1, i;
printf("Please enter a number to evaluate\n");
scanf_s("%d",&n);
double sum = 0.0;
for(i=0; i<=n; i++)
{
sum = sum + (1.0/n);
}
int n=1,i;
printf(“请输入一个要评估的数字\n”);
扫描频率(“%d”和“&n”);
双和=0.0;
对于(i=0;i如果扫描失败会发生什么?您需要初始化n
如果扫描失败会发生什么?您需要初始化n
对不起,我实际上有int n,sum=0,i=0;它仍然给我带来问题。“运行时检查失败#3-变量'sum'未经初始化就被使用”如果您发现它有帮助,请不要忘记:)对不起,我实际上有int n,sum=0,I=0;它仍然给我带来问题。“运行时检查失败#3-变量‘sum’未初始化就被使用”如果您发现它有帮助,请不要忘记:)在得到答案后,不要编辑问题。这会误导用户……以及未来的其他潜在观众future@EdHeal;哦,是的,当然。在得到答案后,不要编辑问题。这会误导用户……以及未来的其他潜在观众future@EdHeal当然可以。