int CountDigit( int number, int digit ){
int count=0;
if(number<0){
int n,m;
m=-number;
while(1){
n=m%10;//只进行了两次取余运算就结束?例输入-21252 2
m=(-1*number)/10;
if(n==digit){
count++;
}
if(m==0){
break;
}
}
}else{
int n,m;
m=number;
while(1){
n=m%10;
m=number/10;
if(n==digit){
count++;
}
if(m==0){
break;
}
}
}
return count;
}
无限循环条件下,语句执行两次就结束,问题出在何处
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
於黾 2022-10-08 14:47关注你现在不是循环提前结束了,是陷入死循环了
m=(-1*number)/10
number不变,m也不变,永远不为0本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录