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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

- g# l% H% v! C- F0 Z如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??& ~2 A' U7 h' I0 [
. [4 ~& g% l. K% L: r) U# ~
unsigned int  state_cnt=0;2 E8 w0 x8 Z4 E1 W. G
unsigned char  state_flag=1;
4 [$ A* s, z; t8 V7 T# n# Yunsigned char  state=0;
2 I+ @" n& m) H, ^8 O/ P4 U1 h0 }1 L, ^$ b5 ~
int main(void)
) |9 o" m; v, s3 T{
+ ?' j; K' @( {state_flag=1;
1 D- y( C' @9 p- m$ qwhile(1)
2 m6 y9 O% k4 ?1 p{
4 e, t% O- u8 T3 g1 v  ;
( R( D# b! l* V7 Q' q& \6 ~& l! B}
8 w* B) i% A! m; B( Q6 l' n
8 d1 y( C2 F' d  ~' n: X2 \6 C" A  a7 B. G6 ]
ISR_(timer_vect)  //定时器中断,1s进一次中断
# K% t- l( f/ E, f1 x3 M{6 v: U+ G& H9 |+ S, D, [
   if (state_flag==1)
6 C0 J  {  {1 v. e9 ~5 M6 _2 Z   {
7 _# @1 y) j& V3 h4 S0 b2 _1 j      state_cnt ++;# B/ ^4 u: r" A( u8 F. _
      if(state)
/ u" a$ \: N7 {% J& N* E       {
+ s9 O# _. S" w/ k+ R         state_cnt=5;4 N% ?. R  _- Q4 b% l2 l
       }) i6 B9 ]2 T1 l" A  k: f7 z
   }2 k! P7 b0 a+ s
}. }. K, c# A% U. z

' g: ?. F+ n* _$ p6 e

该用户从未签到

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

# W5 u3 T7 q' I$ {9 n代码不全,无法判别。

该用户从未签到

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

该用户从未签到

4#
发表于 2022-3-28 10:01 | 只看该作者

# B# ]! I# }0 h7 A( `0 C, u第一次是从0开始自加,执行到if(state)为真时,重新赋值为5,到下次在执行时,就是从5开始自加,再次执行到if(state)为真时,又会重新赋值为5
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-18 10:22 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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