微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一个简单基础问题 求为什么

一个简单基础问题 求为什么

时间:10-02 整理:3721RD 点击:
在流水灯里面
#include<reg52.h>
#include<intrins.h>
void Delay(int x)
{  int i;
while(x--)
for(i=0;i<=1000;i++);
}
void main()
{
P1=0xfe;
int i;
while(1)
{  
for(i=0;i<=6;i++)
{P1=_crol_(P1,1); //P0 的值向左循环移动
Delay(100);}
for(i=0;i<=6;i++)
{
P1=_cror_(P1,1);
Delay(100) ;}
}  }
这样写不对 报错
然后当把int i;加到while循环内 就没事了 运行正常 仿真正常
在while循环 每循环一次就声明一次 这都没错
反而是在外面声明错了
我傻了  为什么啊?求带带新手 解我疑惑 谢谢
     

汗 没人啊  围观啊  啊啊 啊  啊

这都不知道  哥告诉你

全局变量,局部变量的区别

操蛋 怎么分享到qq里面去了 尼玛

新手,过来看看

菜鸟看不懂

全局是在堆内存 一直有效  局部是运行完就释放栈内存  所以按道理应该都可以啊 为啥 哪里想错了? 点明点点  谢谢啦

程序漏洞很多,不仅仅是全局变量,和局部变量的问题。个人建议看看C语言。流水灯是左移?右移?延时多久?个人表示看不懂。程序写的很复杂

注释好少,好难看

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top