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;
}
}
}}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料