找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2143|回复: 8
收起左侧

C语言程序问题

[复制链接]
ID:709761 发表于 2023-2-27 10:23 | 显示全部楼层 |阅读模式
函数作用:判断插槽状态和板卡类型。

3个插槽分别是 A B C
不想写3个一样的函数,能不能通过参数的形式,传递ABC三个参数,应该怎么写。

A1 A2 A3 A4 A5 对应单片机IO口检测电平状态
51hei图片_20230227101331.png
51hei图片_20230227103104.png
回复

使用道具 举报

ID:596109 发表于 2023-2-27 13:11 | 显示全部楼层
return后这个函数就结束了
回复

使用道具 举报

ID:1056573 发表于 2023-2-27 14:15 | 显示全部楼层
当函数执行到满足return 1;函数就运行结束,返回1,后面的代码的代码就不会执行了。若想返回多个值,就得定义多个变量,将不同满足的条件值赋给各个变量。
回复

使用道具 举报

ID:1056573 发表于 2023-2-27 14:17 | 显示全部楼层
可以用switch case语句,提高效率。
回复

使用道具 举报

5#
无效楼层,该帖已经被删除
ID:230500 发表于 2023-2-27 16:08 | 显示全部楼层
看哪个return 的条件先成立, 执行到return 就退出了,
回复

使用道具 举报

ID:1064507 发表于 2023-2-27 17:17 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:123289 发表于 2023-3-1 14:31 | 显示全部楼层
你的想法是对的。
方法:
1、先针对A写。
2、再针对B写,这时你会发现很多地方只要复制A的内容就可以了。
3、A与B不同的地方用X替代,这个X就是参数,其它相同的部分,就是你要写的共通程序了。
4、设法减少参数X的数量,你就成功了。 (X可能不止一个)
回复

使用道具 举报

ID:1064560 发表于 2023-3-1 15:34 | 显示全部楼层
第一个return就结束了
回复

使用道具 举报

ID:139866 发表于 2023-3-2 14:33 | 显示全部楼层
typedef void (*SCAN)(char A,char B,char C);

SCAN scan1,scan2,scan3;

用的时候往里面传参数就好了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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