程序哪里有问题?
#include<stdio.h>int main()
{
int n,k,t=0,max=0,min=9;
scanf("%d",&n);
if(n==0)
{
max=min=0;
t=1;
}
if(n>0)
{
for(n;n>0;n/10)
{
k=n%10;
if(k<9)min=k;
if(k>0)max=k;
t++;
}
}
printf("%d %d %d",t,max,min);
return 0;
}
为什么无法输出结果? 圈圈的地方改为n /= 10 本帖最后由 xiaosi4081 于 2022-10-25 09:57 编辑
#include<stdio.h>
int main()
{
int n,k,t=0,max=0,min=9;
scanf("%d",&n);
if(n==0)
{
max=min=0;
t=1;
}
if(n>0)
{
for(n;n>0;n/=10)
{
k=n%10;
if(k<9)min=k;
if(k>0)max=k;
t++;
}
}
printf("%d %d %d",t,max,min);
return 0;
}
n/10不改变n,只是返回n/10的值,所以会陷入死循环 给个最佳?
页:
[1]