找回密码
 注册
关于网站域名变更的通知
查看: 299|回复: 3
打印 上一主题 下一主题

关于C语言自加++代码的疑惑

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-28 08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

* S7 ~5 v3 `3 _$ z% Q8 z$ x如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??3 X1 m) o! T% p1 m9 T3 o

0 p$ u/ I7 Q2 l1 l1 b% ^unsigned int  state_cnt=0;
" ]5 r7 p& J  }5 {unsigned char  state_flag=1;# n& f, D& ?3 x
unsigned char  state=0;$ D: o6 K7 A, A2 V; O4 |

8 r( N9 I: |5 ]2 `7 q5 Zint main(void)4 o- T- ?6 N. z9 v2 a
{1 j& j3 a3 @0 t
state_flag=1;$ j4 ~: k2 Q! y7 S; d* `! J' a- O; \
while(1)  G# N' V# x6 n) Q6 ^3 Y) u% t9 q
{/ s% [0 y' j6 x  k5 v; q
  ;) y& e4 l+ L0 [6 R5 ?% K
}
. \* B+ H6 h  k3 x* }; Q% H
9 \! @' x$ a3 d( i+ b% _; ~, E1 M4 i+ _# u
ISR_(timer_vect)  //定时器中断,1s进一次中断1 n: s  k1 d" I* z# {1 M6 [  V. E# |
{
* g0 i* F$ S" J; r! q/ p   if (state_flag==1). S. `/ v' i. r( B
   {
: s: C/ r: z) V1 F      state_cnt ++;
, U- P# s3 L) H9 E3 G) G      if(state)* e5 c/ O* v& X) _! t
       {
; J5 g" f* U) z+ a         state_cnt=5;
! x1 m, }: G* ^' ]* N2 }       }
) h2 k% M5 L% ~. j1 J7 n  g, H   }
; Y6 `3 q' o" |" `( B0 o' y" n8 t}
+ p3 s& Z. t. K, S& p3 ^2 ]. {& T- Q

该用户从未签到

2#
发表于 2022-3-28 09:21 | 只看该作者

8 R/ @, R1 S9 b7 S  H代码不全,无法判别。

该用户从未签到

3#
发表于 2022-3-28 09:40 | 只看该作者
这不很简单吗,在5和6不停变

该用户从未签到

4#
发表于 2022-3-28 10:01 | 只看该作者
$ l  o# s7 `. \$ V) t& U+ e! L4 q+ r
第一次是从0开始自加,执行到if(state)为真时,重新赋值为5,到下次在执行时,就是从5开始自加,再次执行到if(state)为真时,又会重新赋值为5
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 09:24 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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