for循环不在gcc中递增计数器

时间:2015-07-11 09:21:26

标签: c

我正在使用gcc 4.9.2并且有一个程序可以打印N个数的4次幂之和。

我已经编写了程序,但总打印出的总和是输入数字的4次幂,而不是总和。 我认为这是柜台的一个问题,但不知道是什么。

if(n>0 && n<=40)
{
   for(c=0;c<=n;c++)
   {
       s=0;
       s=s+c*c*c*c;
   }
   printf("%d",s);
}

1 个答案:

答案 0 :(得分:6)

因为你设置了

s=0;

在循环中。

将它放在for循环之外。

if(n>0 && n<=40)
{
   s=0;
   for(c=0;c<=n;c++)
   {
       s=s+c*c*c*c;
   }
   printf("%d",s);
}

顺便说一句: for循环可以更改为:

   for(c=1;c<=n;c++)

因为值c = 0不会改变任何东西。