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

求教C语言有符号char和无符号char问题

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
           这个程序是一个数码管计数显示,最高位是0就不显示。图上标记的是一个有符号char j。现在是没问题的。我试过用unsigned char j,不过数码管快速闪烁一下就没有其他任何显示了。不知道用char j 为什么是对的。
    ' \. I7 j' e$ l' A' I* f- [      然后老师说char j从0溢出后就是-1,下面的条件就不会继续判断了。然后此处也有一个疑问,是不是j从5到0判断只执行一次,以后再也不执行了,还是其他意思呢?请大佬帮忙解答下,谢谢0 ]4 B* i$ f" `4 r
    * x% Y3 R! q5 F9 v" i" Q3 i
    数码管计数
    1 W* O3 A, `5 A. h% e* ^
    3 ]7 T3 a/ O1 e- I4 e0 }7 D" w3 t) F

    7 r( A3 ~8 A1 ^+ ~0 U9 D
  • TA的每日心情
    奋斗
    2022-1-21 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-3-24 13:16 | 只看该作者
    上面已经定义了,再定义肯定错误
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    3#
    发表于 2022-3-24 13:28 | 只看该作者
    因为第55行的for循环用到j>=0;j--  R% Z; A. U8 e% C4 S
    前一步j=1,j>=0,循环继续,j--: |; C. t% o. r4 q$ ?2 ~0 n
    下一步j=0,j>=0,循环继续,j--2 J  q2 d) c1 a8 r& d. E( `0 b
    后一步如果j是无符号,j=255,j>=0,循环继续,j--,死循环了
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-3-24 13:29 | 只看该作者
    这样写不是更好吗?for(j=5;j>1;j--)
    + V+ G0 E" X8 L. E, S
    $ i0 Q) r( m/ G: j4 q    {
    ' y% A4 C# {- ~# e1 b        if(buf[j]==0)
    . i2 _# c! e, K* E            ledbuff[j]=0xFF;
    0 o! A2 F/ j! V3 s3 N4 Q; g1 I        else
    / R% Y! {- R6 p4 G% b' f( o            ledbuff[j]=ledchar[buf[j]];
    4 F0 }* f0 B8 {" `6 G& R    }
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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