找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2149|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

求教C語言有符號char和無符號char問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1005226 發(fā)表于 2022-2-21 11:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
       各位大佬,我是小白,想請教兩處問題,希望能幫忙解惑。
       這個程序是一個數(shù)碼管計數(shù)顯示,最高位是0就不顯示。圖上標記的是一個有符號char j。現(xiàn)在是沒問題的。我試過用unsigned char j,不過數(shù)碼管快速閃爍一下就沒有其他任何顯示了。不知道用char j 為什么是對的。
      然后老師說char j從0溢出后就是-1,下面的條件就不會繼續(xù)判斷了。然后此處也有一個疑問,是不是j從5到0判斷只執(zhí)行一次,以后再也不執(zhí)行了,還是其他意思呢?請大佬幫忙解答下,謝謝

無標題.png (143.73 KB, 下載次數(shù): 31)

數(shù)碼管計數(shù)

數(shù)碼管計數(shù)

1.png (149.73 KB, 下載次數(shù): 30)

1.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:979299 發(fā)表于 2022-2-21 16:03 | 只看該作者
上面已經(jīng)定義了,再定義肯定錯誤
回復(fù)

使用道具 舉報

板凳
ID:161164 發(fā)表于 2022-2-21 16:17 | 只看該作者
因為第55行的for循環(huán)用到j(luò)>=0;j--
前一步j(luò)=1,j>=0,循環(huán)繼續(xù),j--
下一步j(luò)=0,j>=0,循環(huán)繼續(xù),j--
后一步如果j是無符號,j=255,j>=0,循環(huán)繼續(xù),j--,死循環(huán)了
回復(fù)

使用道具 舉報

地板
ID:1005226 發(fā)表于 2022-2-22 23:35 | 只看該作者
lkc8210 發(fā)表于 2022-2-21 16:17
因為第55行的for循環(huán)用到j(luò)>=0;j--
前一步j(luò)=1,j>=0,循環(huán)繼續(xù),j--
下一步j(luò)=0,j>=0,循環(huán)繼續(xù),j--

謝謝,明白了
回復(fù)

使用道具 舉報

5#
ID:53621 發(fā)表于 2022-2-23 12:58 | 只看該作者
這樣寫不是更好嗎?for(j=5;j>1;j--)
  1. {
  2.     if(buf[j]==0)
  3.         ledbuff[j]=0xFF;
  4.     else
  5.         ledbuff[j]=ledchar[buf[j]];
  6. }
復(fù)制代碼
回復(fù)

使用道具 舉報

6#
ID:1005226 發(fā)表于 2022-2-23 23:26 | 只看該作者
羅斯德隆 發(fā)表于 2022-2-23 12:58
這樣寫不是更好嗎?for(j=5;j>1;j--)

你好,你這個寫法少了個位數(shù),不行的
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表