找回密码
 注册
关于网站域名变更的通知
查看: 216|回复: 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 为什么是对的。
    4 I9 ~6 D+ ]1 s0 ]2 p  K. y. Z! U      然后老师说char j从0溢出后就是-1,下面的条件就不会继续判断了。然后此处也有一个疑问,是不是j从5到0判断只执行一次,以后再也不执行了,还是其他意思呢?请大佬帮忙解答下,谢谢' f- {3 J' T, R( J

    0 |: G+ ]. E0 m9 \
    数码管计数

    ; |5 S" C  _7 a
    3 R" J* k8 G. V+ p7 L# n% X
    # W3 x1 E+ D7 N& B
  • 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--
    ) ^# s: ]; e/ D9 a5 y前一步j=1,j>=0,循环继续,j--
    0 Y- Q, K; a" ~9 S, D' N( N下一步j=0,j>=0,循环继续,j--
    * i6 B# e& e  i% W后一步如果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--)
    4 m0 a% ^8 e" B8 h3 L
    / E/ g, p* X  y8 _" y) p    {
    ' I9 a' N: b; W        if(buf[j]==0)
    8 C3 e+ l, [& Z# Z  A            ledbuff[j]=0xFF;; U5 n9 \0 W" ?. N1 t# V
            else
    * e; Z% \9 S7 ^. d            ledbuff[j]=ledchar[buf[j]];
    , ^2 {2 ^0 `, _* C3 W& M1 g    }
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-5 03:57 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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