void countdigst(int last_number,int *count_arry)
{
int i;
for(i= 1;i <= last_number;i++)
{
//不满足while后,i=0,此时为什么i每次进来为1而没有自增为下一个数呢?
//也就是为//什么没有执行i++?
int temp = 0;
while( i != 0)
{
temp = i%10;
count_arry[temp]++;
i /= 10;
}
}
}
C语言循环的问题,怎么就成了死循环呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答
- longyu_wlz 2016-03-20 03:46关注
i/=10;
i是整型,而且初始化为1.只要i < 10,从whlie循环中出来的i值永远为0,i++永远为!
可以这样改:int i;
for(i= 10; i <= last_number + 9; i++)
{
//不满足while后,i=0,此时为什么i每次进来为1而没有自增为下一个数呢?
//也就是为//什么没有执行i++?
int temp = 0;while( ( i - 9) ^ 0)
{
temp = (i - 9) % 10;
count_arry[temp]++;
i /= 10;
}
}
}}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报