找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2249|回复: 12
收起左侧

关于C语言for语句循环的问题

  [复制链接]
ID:450037 发表于 2020-2-13 15:35 | 显示全部楼层 |阅读模式
捕获.PNG 试试.jpg 如图,当i=3时,P3应该等于什么?



回复

使用道具 举报

ID:69659 发表于 2020-2-13 21:30 来自手机 | 显示全部楼层
你这个程序i不会等于3,i只会到2,第二句要改成i小于等于3才会有i等于3,i等于3的话,P3等于1110 1111
回复

使用道具 举报

ID:386381 发表于 2020-2-13 22:31 来自手机 | 显示全部楼层
我想i=3for条件不成立应该不执行吧!
回复

使用道具 举报

ID:450037 发表于 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?
回复

使用道具 举报

ID:511890 发表于 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循环。
回复

使用道具 举报

ID:560467 发表于 2020-2-14 00:33 | 显示全部楼层
i不会等于三,等于的话就再向后面移动一位
回复

使用道具 举报

ID:462827 发表于 2020-2-14 13:16 | 显示全部楼层
在循环体里i只有0 1 2的值,当它等于3时就会结束循环了不会执行循环体。
回复

使用道具 举报

ID:450037 发表于 2020-2-14 14:31 | 显示全部楼层
幻剑心 发表于 2020-2-14 00:22
for循环是先判断再执行。以for(i-0;i

当FOR语句结束时,当系统main函数又开始运行,为什么LED又等于0x7f,就是恢复到了出厂值而不是0xef?
回复

使用道具 举报

ID:326783 发表于 2020-2-14 16:15 | 显示全部楼层
当i等于3时就跳出循环体了.
回复

使用道具 举报

ID:693144 发表于 2020-2-14 19:57 | 显示全部楼层
for循环里的条件.i<3
回复

使用道具 举报

ID:465279 发表于 2020-2-14 20:57 | 显示全部楼层
zhangzhao2423 发表于 2020-2-13 23:16
我知道i不会等于三,我就想知道当FOR语句结束时,当系统main函数又开始运行,为什么LED又等于0x7f,而不 ...

当系统main函数又开始运行,i值初始化了
回复

使用道具 举报

ID:619787 发表于 2020-2-14 22:07 | 显示全部楼层
i不会等于3啊,等于3就跳出了。
回复

使用道具 举报

ID:679425 发表于 2020-2-15 08:35 | 显示全部楼层
i<4for条件成立后,输出试下
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表