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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
6 l3 x/ p: _" F  z
如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??9 S7 }# z0 C% r. q

' m8 s7 l4 r& d! punsigned int  state_cnt=0;
1 `) D) q' G! [4 K6 q7 r4 Iunsigned char  state_flag=1;
3 U; y3 H- w; a1 n6 o. \! l7 C! Bunsigned char  state=0;7 N" E. h. Y: K& p/ [1 S  ?
4 y7 K0 Y4 S: i
int main(void)" y& ~) `- u. F$ w, H
{
& L$ @! L/ f* B) h$ x$ Hstate_flag=1;8 q& W/ N$ w1 H; p8 @
while(1)
7 d- C2 I, g9 i# }+ X* {. u1 g  Y{3 C( @# R$ B- @
  ;' P6 o- e- c1 p, }: k/ U; I
}
0 p' I+ F* i: Y: W% J" v" A! h/ v$ q# c* \+ r3 v
3 {. ?( k/ ?- s' f$ X
ISR_(timer_vect)  //定时器中断,1s进一次中断0 [9 b3 V2 f% C/ \  d' f
{6 Y6 N' Q8 y" V+ S1 v5 E0 q, ?
   if (state_flag==1)
7 T+ b& @  g3 r1 m. I1 ~8 p+ h   {
% F1 n: P1 K( p; V" ?      state_cnt ++;0 @3 V/ I* D6 k' ?
      if(state)
4 }9 }/ f6 W6 G) u! T+ g; A: W       {
( d* H7 \( d& U0 ?         state_cnt=5;& ]; t5 H. q8 x' [: h
       }
3 b" w) O/ A' `2 g3 X& j: h: M   }4 t* @) _; b/ L
}9 I3 W: Y" _, {7 s. h+ X4 j# _, G
6 H/ [' m: j) O4 ~, E3 w. ~$ S6 O

该用户从未签到

2#
发表于 2022-3-28 09:21 | 只看该作者
8 K8 {5 s0 W/ U4 n
代码不全,无法判别。

该用户从未签到

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

该用户从未签到

4#
发表于 2022-3-28 10:01 | 只看该作者
5 m: N3 Y4 {: x; R+ k  T- h
第一次是从0开始自加,执行到if(state)为真时,重新赋值为5,到下次在执行时,就是从5开始自加,再次执行到if(state)为真时,又会重新赋值为5
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-20 16:18 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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