gpt4 book ai didi

c - "Uninitialized Local Variable"错误,尽管定义了变量?

转载 作者:太空宇宙 更新时间:2023-11-04 00:15:10 26 4
gpt4 key购买 nike

这是代码。它表示变量未初始化,尽管在 main 函数之后的代码顶部定义了它。

#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);
}

最佳答案

要么删除 sum=0; 后的分号并更改

int n, sum=0; i=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);  

错了。如果你的意思是 double(sum) 强制转换那么它不是一个有效的语法。如果它像 (double)sum 那么它仍然是错误的,因为 = 需要左值作为它的左操作数。
我建议您将 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);
}

关于c - "Uninitialized Local Variable"错误,尽管定义了变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20890623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com