void delayms(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}这是一个大概的延时程序,程序这么写用uchar型变量的时候有问题,z的大小跟时间没有关系,而将变量类型改为uint型就是ok的,z的大小觉得延时时间的长短。求大神帮忙解释下,这是为什么?