程序如下: 
void display(void)                   
{  
    int y;  
    uchar code rel[]={0,1,2,3,4,5,6,7};    //数码管选通 
     uchar code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //定义0-9 
     uchar data num[8]; 
     num[0]=s/10000000;                    //千万位 
     num[1]=s/1000000%10;                  //百万位 
     num[2]=s/100000%10;                   //十万位 
     num[3]=s/10000%10;                    //万位 
     num[4]=s/1000%10;                     //千位 
     num[5]=s/100%10;                      //百位 
     num[6]=s/10%10;                       //十位 
     num[7]=s%10;                          //个位 
     for(y=7;y>=0;y--)  
    { 
   P2=rel[y];                              //位选输出 
       P0=led[num[y]];                         //数据输出 
    delay(4);                        
      }  
}  
 
我把int y; 改成uint y; 程序运行就不对了.可是这里从数据类型上来讲应该是没区别的啊? |