迪文科技论坛

 找回密码
 立即注册
搜索
查看: 690|回复: 4

【提问】val = (selected==i)怎么理解呀

[复制链接]

8

主题

21

回帖

217

积分

中级会员

Rank: 3Rank: 3

积分
217
发表于 2023-6-1 14:11:15 | 显示全部楼层 |阅读模式
val = (selected==i) 这句代码是什么意思呀?
回复

使用道具 举报

8

主题

21

回帖

217

积分

中级会员

Rank: 3Rank: 3

积分
217
 楼主| 发表于 2023-6-1 14:13:39 | 显示全部楼层
void start_win_btn_click_handler(u16 btn_val)
{
        u16 val;
        u8 i;
        selected = btn_val-0x01;
       
       
        for(i=0;i<3;i++)
        {
                val = (selected==i);
                sys_write_vp(START_WIN_RADIO_BTN_VP+i,(u8*)&val,1);
        }
        sys_write_vp(START_WIN_SELECTED_VP,(u8*)&selected,1);//显示被选中选项对应的值
       
}
出自单选按键功能例程
回复

使用道具 举报

2

主题

1228

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12145
发表于 2023-6-1 14:32:49 | 显示全部楼层
739004020 发表于 2023-6-1 14:13
void start_win_btn_click_handler(u16 btn_val)
{
        u16 val;

这行代码 "val = (selected==i);" 是一个赋值语句,它比较变量 "selected" 的值和循环变量 "i" 的当前值。

表达式 "(selected==i)" 会判断 "selected" 的值是否等于 "i" 的值,如果相等则返回 true(1),否则返回 false(0)。然后,将结果值(1 或 0)赋给变量 "val"。

换句话说,这行代码的作用是,在当前循环迭代对应于当前选定的选项时(即 "selected" 等于 "i"),将 "val" 的值设置为 1,否则设置为 0。这个值会用于更新用户界面上一组单选按钮的状态。
回复

使用道具 举报

8

主题

21

回帖

217

积分

中级会员

Rank: 3Rank: 3

积分
217
 楼主| 发表于 2023-6-1 14:58:01 | 显示全部楼层
解释的非常清楚,已经理解了,谢谢您
回复

使用道具 举报

8

主题

21

回帖

217

积分

中级会员

Rank: 3Rank: 3

积分
217
 楼主| 发表于 2023-6-1 14:58:48 | 显示全部楼层
zzs999k 发表于 2023-6-1 14:32
这行代码 "val = (selected==i);" 是一个赋值语句,它比较变量 "selected" 的值和循环变量 "i" 的当前值 ...

解释的非常清楚,已经理解了,谢谢您
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-9-21 06:27 , Processed in 0.041538 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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