c语言for语句为什么循环不成功??

#include <stdio.h>int main(){ int i,sum=0,a=1,t; for(i=1;i<=1000;i++) { for(t=2;t<i;t++) { if(i%t==0) a=a+t; } if(a==i) { sum=sum+a; printf("%d\n",a); } } printf("%d\n",sum); return 0;}
第一个for语句执行不成功

你的循环成功了,但是没有在每次循环a=0,造成完数的判断有误,最后只有1一个“完数”(因为a被累加起来了)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-23
执行了。有没有执行,加一句log 就行了。比如在循环里加:printf("execute\n");