形参 z 为 uint 型,而 局部变量 x、y 为 int;
使用②函数时,当z 的值 超出 x 的范围时,x 不管如何自加 都 达不到 z的值,这将是一个 死循环。
而①函数,就算 z 超出 x 范围,那也只是 x 无法 获得正确的初值而已,依然有一个初值 进行 运算,最后 都会 =0,所以不会死循环,只会 出点 不对时 的意外。
void delay(uint z)
{ int x,y;
for(x=0;x
}
这样就可以了,另外既然已经声明了uint,这里就没必要再用int定义变量了。
一个是自减,一个是自加
你所谓的“不行”,究竟具体是什么现象???