标题: 关于C语言for语句循环的问题 [打印本页]

作者: zhangzhao2423    时间: 2020-2-13 15:35
标题: 关于C语言for语句循环的问题
如图,当i=3时,P3应该等于什么?




作者: MCU89c52    时间: 2020-2-13 21:30
你这个程序i不会等于3,i只会到2,第二句要改成i小于等于3才会有i等于3,i等于3的话,P3等于1110 1111
作者: 文凤轩    时间: 2020-2-13 22:31
我想i=3for条件不成立应该不执行吧!
作者: zhangzhao2423    时间: 2020-2-13 23:16
MCU89c52 发表于 2020-2-13 21:30
你这个程序i不会等于3,i只会到2,第二句要改成i小于等于3才会有i等于3,i等于3的话,P3等于1110 1111

我知道i不会等于三,我就想知道当FOR语句结束时,当系统main函数又开始运行,为什么LED又等于0x7f,而不是0xef?
作者: 幻剑心    时间: 2020-2-14 00:22
for循环是先判断再执行。以for(i-0;i<3;i++)首先先给i赋初始值(这里的i=0),然后执行循环体,执行完后执行i++,然后判断i是否小于3,如果小于3,则继续执行循环体,如果大于等于3,则直接跳出循环,不会再去执行循环体。所以,如果要让i=n时继续执行循环体,一般要把中间的for循环判断条件写成:i<n+1。或者改用do...while循环。
作者: CZ1    时间: 2020-2-14 00:33
i不会等于三,等于的话就再向后面移动一位
作者: hantu    时间: 2020-2-14 13:16
在循环体里i只有0 1 2的值,当它等于3时就会结束循环了不会执行循环体。
作者: zhangzhao2423    时间: 2020-2-14 14:31
幻剑心 发表于 2020-2-14 00:22
for循环是先判断再执行。以for(i-0;i

当FOR语句结束时,当系统main函数又开始运行,为什么LED又等于0x7f,就是恢复到了出厂值而不是0xef?
作者: LanSeXinQing    时间: 2020-2-14 16:15
当i等于3时就跳出循环体了.
作者: create1318    时间: 2020-2-14 19:57
for循环里的条件.i<3
作者: hxszrb    时间: 2020-2-14 20:57
zhangzhao2423 发表于 2020-2-13 23:16
我知道i不会等于三,我就想知道当FOR语句结束时,当系统main函数又开始运行,为什么LED又等于0x7f,而不 ...

当系统main函数又开始运行,i值初始化了
作者: 紫红君的盛夏    时间: 2020-2-14 22:07
i不会等于3啊,等于3就跳出了。
作者: haierzaifei11    时间: 2020-2-15 08:35
i<4for条件成立后,输出试下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1