for(b=1;b<a;b++) { if(a%b==0) c=c+b; } printf("a = %d ",a); printf("c =%d \n",c); // 没有输出的原因是不符合输出的条件 a==c ;你可以在第二层循环后添加两个输出语句检查一下,每次运行完 a和c都不相等