C语言的问题?为什么结果是0;0 程序代码如下
2个回答
展开全部
原因:在函数countValue()中重定义了变量cnt,sum,这样这两个变量在函数countValue()中称为了局部变量,它们的作用域是这个函数内部,与主函数中的cnt和sum没有任何关系,所以最后输出的值为0,应该把函数countValue()中对cnt和sum的定义去掉即可:
void
countValue()
{int
i,j,k=1;
for(i=800;i>500;i--)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(j==i)
{
cnt++;
sum=sum+k*i;
k=k*(-1);
}
}
}
void
countValue()
{int
i,j,k=1;
for(i=800;i>500;i--)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(j==i)
{
cnt++;
sum=sum+k*i;
k=k*(-1);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询