用for循环5次,得出 54321 4321 321 21 1 int num=10000,a=

5432,i=0;
for(i=0;i=<5;i++)
{
printf(“%d\n”,a);
a=a%num;
num=num/10;
_}
return 0;
这是一个完整句子中执行的部分。为什么当把num设置成100000,然后将printf这句放在num=num/10后面,这语句只能输出54321?

54321除以100000 除数为0 余数为其自身 所以 如果a=54321的话 a=a%100000 = 54321保持不变 %是求余数的意思

而 num = num/10后变成10000了 而 54321除以10000 除数是5 余数是 4321 所以第二个输出的为4321 下面类推。追问

我的意思是,printf所放的位置不同,输出结果就不一样。当把printf放在后面时,只输出54321然后第二行就出现了一行汉字。这是为什么呢

追答

要不你把程序贴完整 ,你说 循环5次 而你写for会循环6次 程序中其他地方都对吗?

温馨提示:答案为网友推荐,仅供参考
相似回答