首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

for(i=零;i<8;i++)与for(i=1;i<9;i++)同样是循环8次,这两个句语有区别?

2012-10-19 
for(i0i8i++)与for(i1i9i++)同样是循环8次,这两个句语有区别??C/C++ code/*单片机编程用到ds1302

for(i=0;i<8;i++)与for(i=1;i<9;i++)同样是循环8次,这两个句语有区别??

C/C++ code
/*单片机编程用到ds1302这块芯片。。其中有一个函数是这样的。*/void ds1302_writeByte(uchar dat)     //实时时钟写入一字节(内部函数){     uchar i;    ACC = dat;    for(i = 1; i < 9; i++)   //相当于汇编中的 RRC    /*奇怪的是:这两个语句都是循环8次嘛,应该没区别才对啊。为什么我换了   */for(i = 0; i < 8; i++)这一句,,程序就有问题了。。         *很烦,这个问题困扰了我很久,想不到是这两个句语造成的。。。。    */    //for(i = 0; i < 8; i++)    {        ds1302_sclk = 0;        ds1302_io = ACC0;                        //写,上升沿之前数据必须有效,写入数据          ds1302_sclk = 1;               ACC >>= 1;      }   }


[解决办法]
难道是在嵌入式编程中有区别?。。。
试试 for(i=-1;i<7;i++) 看看。。。
maybe i 不能为0?
[解决办法]
按照你的写法,第一个for语句事实上只执行了一次,因为在第二个for执行完一次之后i已经是8了,8++之后为9,已经不满足i<9这个条件。所以不会再循环。虽然不知道你为什么要在两个for里用同一个i,但是如果是为了执行64次(猜测),为什么不在第二个for里面用另外的变量呢?
[解决办法]
探讨

引用:
难道是在嵌入式编程中有区别?。。。
试试 for(i=-1;i<7;i++) 看看。。。
maybe i 不能为0?

i 是无符号的。。。unsigned char

[解决办法]
LZ是要循环嵌套吗?我怎么觉得像是比较for(i=0;i<8;i++)和for(i=1;i<9;i++)两个循环的异同诶!!!!
[解决办法]
楼主贴的代码和问的问题不明确

热点排行