求教!我是初学C,请教这段怎么不能运行

[复制链接]
2773|10
 楼主| ZBBT 发表于 2009-3-31 12:44 | 显示全部楼层 |阅读模式
#include&nbsp;&ltAT89X51.h&gt<br />sbit&nbsp;&nbsp;&nbsp;&nbsp;p20=P2^0;<br /><br />void&nbsp;main(void)<br />{<br />unsigned&nbsp;int&nbsp;a;<br />//sbit&nbsp;p20=P2^0;<br />do&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />for(a=0;a&lt500000;a++)<br />&nbsp;&nbsp;&nbsp;&nbsp;p20=0;<br />for(a=0;a&lt500000;a++);<br />&nbsp;&nbsp;&nbsp;&nbsp;p20=1;<br />//&nbsp;&nbsp;&nbsp;&nbsp;for(a=0;a&lt200000;a++);<br />}<br />while(1);<br />}<br /><br />
computer00 发表于 2009-3-31 12:49 | 显示全部楼层

int型是16位的,所以最大值为65535,因此总会比500000小,死循

  
 楼主| ZBBT 发表于 2009-3-31 13:06 | 显示全部楼层

谢谢啦,我回去试试吧!以前用51没注意

  
dragon_hn 发表于 2009-3-31 16:20 | 显示全部楼层

不同的C编译器int型长度不一样.

有些编译器是2bytes,有些是4bytes,还有些是可以设置的.
taoest 发表于 2009-3-31 17:00 | 显示全部楼层

这里也有问题

for(a=0;a&lt500000;a++)<br />p20=0;<br /><br />这样会看不到脉冲或者闪光。因为脉冲太短。<br />应该在后面加个分号<br />for(a=0;a&lt500000;a++);<br />p20=0;
平常人 发表于 2009-3-31 18:36 | 显示全部楼层

咦,我的帖子为什么被删掉了?我说程序能运行难道有问题

2、4、5楼谈了半天都没有切题,LZ问的是为什么这段程序不能运行,而你们谈了半天程序运行后的结果如何如何,显然没有回答LZ的问题。<br /><br />我回答了LZ的问题,为什么要删我的帖?怪哉!!!<br /><br />如果我说的不对,谁能说出个道理证明我说错了?
平常人 发表于 2009-3-31 18:39 | 显示全部楼层

哈哈,我搞错了,都怪楼主一个问题到处发帖

我还以为我的帖被删掉了,哈哈哈哈。。。。。。。。<br /><br /><br />LZ不地道,同一个问题到处发帖(新手园地)!!
zyok 发表于 2009-3-31 18:45 | 显示全部楼层

哈哈,原来平常人是个大马哈...

  
computer00 发表于 2009-3-31 20:41 | 显示全部楼层

平常人俺申明俺没有删你的贴子…………

  
平常人 发表于 2009-3-31 20:58 | 显示全部楼层

哈哈哈,圈圈也和我一样,没看清楚就发言

看看我7楼的帖子,哈哈哈哈,赶快撇清自己。。。。。。。。。。
computer00 发表于 2009-3-31 21:26 | 显示全部楼层

嘿嘿,俺发帖的时候你的帖子还没显示出来呢……

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部