任何人都可以给我一个正确的解释下面的代码吗?
#include<stdio.h>
int main()
{
int n = 1729;
int s;
for(s=0;n;s+=n%10)
n/=10;
printf("s:%d\n",s);
return 0;
}
输出为“s:10”
答案 0 :(得分:2)
除了最后一个之外,它对n的数字求和。 在你的情况下,s = 10 = 1 + 7 + 2
你可以看到在第一次迭代中我们除以10并除去数字9.所以n = 172。 然后我们继续将第一个右边的数字添加到s,直到n为零(我们完成扫描数字)