pinstate 没有初始值, 那么 pinstate = iStatus ? GPIO_PIN_RESET : GPIO_PIN_SET;有什么意义

这是一个简单的赋值运算;
pinstate = iStatus ? GPIO_PIN_RESET : GPIO_PIN_SET;

? : 为三目运算符,优先级高于 = ;
所以先运行出 iStatus ? GPIO_PIN_RESET : GPIO_PIN_SET 的值,然后赋值给 pinstate 变量;
这么做的原因:1.为了避免出现 iStatus 为非 0 整数的情况;2. 使代码更易阅读;

另:建议设置成 tab 为 4 个空格,这样看代码舒服一点;
Options => File Type Options => 下图

1 个赞