找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4848|回复: 25
收起左侧

请教大家个C语言程序问题,别喷,本人是小白中的小白

  [复制链接]
ID:496265 发表于 2022-3-5 09:31 | 显示全部楼层 |阅读模式
请问这个C语言程序为何只停在第4种状态,不能循环,求指点谢谢!
key-led4.png
回复

使用道具 举报

ID:123289 发表于 2022-3-5 11:49 | 显示全部楼层
你是如何确定【只停在第4种状态,不能循环】的呢?
回复

使用道具 举报

ID:999085 发表于 2022-3-5 12:09 | 显示全部楼层
貌似你的key只有一个状态,从而导致kk变量也只有少数值,当然不会让所有的led组合都显示了
回复

使用道具 举报

ID:1006865 发表于 2022-3-5 13:50 | 显示全部楼层
if(kk>=5)kk==1;?没看错吧,你是怎么通过编译的?
回复

使用道具 举报

ID:276663 发表于 2022-3-5 14:10 | 显示全部楼层
看程序应该是按一下按键,切换一种状态,不会只在一个状态啊
回复

使用道具 举报

ID:496265 发表于 2022-3-5 16:03 | 显示全部楼层
IdeaMing 发表于 2022-3-5 14:10
看程序应该是按一下按键,切换一种状态,不会只在一个状态啊

是按一下就切换一种状态的,当到了第4种就停止了,不能重头再来了
回复

使用道具 举报

ID:496265 发表于 2022-3-5 16:04 | 显示全部楼层
yzwzfyz 发表于 2022-3-5 11:49
你是如何确定【只停在第4种状态,不能循环】的呢?

因为我画有板子试啊
回复

使用道具 举报

ID:1003077 发表于 2022-3-5 16:14 | 显示全部楼层
好像没问题
回复

使用道具 举报

ID:382454 发表于 2022-3-5 16:32 | 显示全部楼层
我只看到这里要大括号啊,其它的就不道。
if(kk>=5)
   {


   }


1.png

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:624769 发表于 2022-3-5 16:46 | 显示全部楼层
if(kk>=5)   kk = 1;

注意红色部分
回复

使用道具 举报

ID:496265 发表于 2022-3-5 17:43 | 显示全部楼层
188610329 发表于 2022-3-5 16:46
if(kk>=5)   kk = 1;

注意红色部分

好的,谢谢!
回复

使用道具 举报

ID:883242 发表于 2022-3-5 17:56 | 显示全部楼层
ttwbj789 发表于 2022-3-5 13:50
if(kk>=5)kk==1;?没看错吧,你是怎么通过编译的?

c语言就是这样,能够给你特别多的权限的同时,很多错误都检查不出来,鱼与熊掌不可兼得。
回复

使用道具 举报

ID:1008406 发表于 2022-3-5 21:50 | 显示全部楼层
你的while(!key); 形成了死循环
51hei图片_20220305215003.png

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:634016 发表于 2022-3-7 11:26 | 显示全部楼层
unsigned char kk的初始化呢。
回复

使用道具 举报

ID:160500 发表于 2022-3-7 12:23 | 显示全部楼层
确实是小白。程序段落不清,让看的人还要猜
回复

使用道具 举报

ID:807182 发表于 2022-3-7 14:47 | 显示全部楼层
本帖最后由 暖西夏 于 2022-3-7 14:48 编辑

本人很菜,看不出来
回复

使用道具 举报

ID:1008798 发表于 2022-3-7 18:06 | 显示全部楼层
16行少个分号
回复

使用道具 举报

ID:491577 发表于 2022-3-7 23:55 | 显示全部楼层
led2=led3=led4=1;这个也行?
回复

使用道具 举报

ID:879809 发表于 2022-3-8 00:06 | 显示全部楼层
hhh402 发表于 2022-3-7 23:55
led2=led3=led4=1;这个也行?

这个真的可以。你试下就知道了。
回复

使用道具 举报

ID:743654 发表于 2022-3-8 08:48 | 显示全部楼层
最主要的错在这:if(kk>=5)   kk == 1; 改为if(kk>=5)   kk =1; =号是赋值==号是判断
回复

使用道具 举报

ID:415064 发表于 2022-3-8 08:59 | 显示全部楼层
kk=5的时候没有对应case
回复

使用道具 举报

ID:1008926 发表于 2022-3-8 10:41 | 显示全部楼层
应该可以吧
回复

使用道具 举报

ID:496265 发表于 2022-3-11 08:38 | 显示全部楼层
cheney03 发表于 2022-3-8 08:48
最主要的错在这:if(kk>=5)   kk == 1; 改为if(kk>=5)   kk =1; =号是赋值==号是判断

回复

使用道具 举报

ID:824490 发表于 2022-3-11 11:21 | 显示全部楼层
ybendan 发表于 2022-3-5 21:50
你的while(!key); 形成了死循环

这里没有死循环,而是待按键松开。。
回复

使用道具 举报

ID:496265 发表于 2022-3-11 15:41 | 显示全部楼层
本帖最后由 LJMEP 于 2022-3-11 15:46 编辑
liuzx66 发表于 2022-3-7 12:23
确实是小白。程序段落不清,让看的人还要猜

哈哈,见笑了,能说下段落应怎样排吗?
回复

使用道具 举报

ID:496265 发表于 2022-3-11 15:46 | 显示全部楼层
名字不是重点 发表于 2022-3-11 11:21
这里没有死循环,而是待按键松开。。

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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