输入一个多位数,输出最大和最小的数字,为什么我这个输出的时候最小值都是1?

#include<stdio.h>

int main(){

 int a,b,max,min;

 scanf("%d",&a);

 while(a!=0){

  b=a%10;

  a=a/10;

  if(b>max){

  max=b;}

  if(b<min){

  min=b;} 

 }

 printf("%d\t%d",min,max);

 return 0;

}

#include<stdio.h>

int main(){
 int a,b,max=0,min=9;

 scanf("%d",&a);

 while(a!=0){
  b=a%10;

  a=a/10;

  if(b>max){
  max=b;}

  if(b<min){
  min=b;} 

 }

 printf("%d\t%d",min,max);

 return 0;

}

 

你输入的值里面有包含1吗

max和min没有初始化,在scanf()函数前加一句max=9,min=1;