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

[复制链接]
3044|14
 楼主| ZBBT 发表于 2009-3-31 12:23 | 显示全部楼层 |阅读模式
#include&nbsp;&ltAT89X51.h&gt<br />&nbsp;sbit&nbsp;&nbsp;&nbsp;&nbsp;p20=P2^0;<br />&nbsp;<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 />}
平常人 发表于 2009-3-31 12:29 | 显示全部楼层

肯定能运行,除非没电

  
九浩 发表于 2009-3-31 12:30 | 显示全部楼层

参考一下吧!

我也是初学,无符号整型:unsigned&nbsp;int&nbsp;范围0---65535,你的范围好像超了吧!
九浩 发表于 2009-3-31 12:35 | 显示全部楼层

你把a的值改成50000,我想应该能运行!

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

谢谢啦,我回去试试吧!

  
王紫豪 发表于 2009-3-31 22:54 | 显示全部楼层

re

keil&nbsp;51里,默认&nbsp;int&nbsp;为short,可改为long
逐梦青萍 发表于 2009-4-1 22:39 | 显示全部楼层

数字错误

int只能处理不超过65535的数字(2的16次方)改一下数字就应该可以,要是你认为延时不够可以使用嵌套<br /><br /><br />
jgg135 发表于 2009-4-2 19:47 | 显示全部楼层

答案

unsigned&nbsp;int&nbsp;类型数据范围为0——65535
myic200610 发表于 2009-4-4 00:22 | 显示全部楼层

RE

呵呵,低级错误!有趣!
saul2006 发表于 2009-4-4 00:52 | 显示全部楼层

我前几天也犯这个错误,呵呵,我也是刚学的,确实是超过

  
无聊小子 发表于 2009-4-21 20:55 | 显示全部楼层

嘻嘻...

嘻嘻...C语言很久没用了.真怀念当年天天研究那东东...建议看看&quot;谭浩强&quot;的书,C语言相当不错的入门书籍...除了入门知识还包含了数据结构....真是一书两用<br /><br />
50ic 发表于 2009-4-21 21:47 | 显示全部楼层

我来说说

int应改为long,第一个for少了分号,还有,你的应该是延时约4秒输出低电平,再延时约4秒又输出高电平,这样的话就不必用for语句啊,写个延时子程序会好一点吧.
lelee007 发表于 2009-4-22 03:15 | 显示全部楼层

哈哈

  
cambwang 发表于 2009-4-22 22:01 | 显示全部楼层

溢出啦

  
mindshare 发表于 2009-4-23 11:05 | 显示全部楼层

这个涉及到编译器/平台有关的问题了.

每一个数据类型在不同的编译器/平台上使用时会有不同的地方.<br /><br />unsigned&nbsp;int&nbsp;在有的编译器下是16&nbsp;bit,在有的编译器下是32bit<br /><br />所以,一般为了可移植性都会使用平台自定义数据类型,这样才能有比较好的移植性.<br /><br />比如:<br />#define&nbsp;INT32U&nbsp;unsinged&nbsp;long<br />#define&nbsp;INT32U&nbsp;unsigned&nbsp;int<br /><br />在你的代码中将&nbsp;unsigned&nbsp;int&nbsp;换成INT32U后<br />换平台就很容易了,否则就很麻烦,特别是一个巨大的工程。<br /><br /><br /><br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

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