单片机c语言中为什么我调用了一个函数后原来在主函数中的一个变量值变化了,不知道怎么回事

如这个程序void main()
{uchar keyzhi;
keyzhi=60;
keyzhi--;
TH0=0x3C;
TL0=0xB0;
TR0=0;
TMOD=0x01;
IE=0x82;
while(keyzhi!=1)
{disp();
执行完这里后值就变化了。

肯定是调用函数中某个变量使用了与主函数中变量一样的地址。或者,使用了相同的变量。
解决方法:在函数中将该变量重新定义一下。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答