標(biāo)題: 求教C語(yǔ)言有符號(hào)char和無(wú)符號(hào)char問題 [打印本頁(yè)]

作者: 舞月驚鴻    時(shí)間: 2022-2-21 11:56
標(biāo)題: 求教C語(yǔ)言有符號(hào)char和無(wú)符號(hào)char問題
       各位大佬,我是小白,想請(qǐng)教兩處問題,希望能幫忙解惑。
       這個(gè)程序是一個(gè)數(shù)碼管計(jì)數(shù)顯示,最高位是0就不顯示。圖上標(biāo)記的是一個(gè)有符號(hào)char j,F(xiàn)在是沒問題的。我試過(guò)用unsigned char j,不過(guò)數(shù)碼管快速閃爍一下就沒有其他任何顯示了。不知道用char j 為什么是對(duì)的。
      然后老師說(shuō)char j從0溢出后就是-1,下面的條件就不會(huì)繼續(xù)判斷了。然后此處也有一個(gè)疑問,是不是j從5到0判斷只執(zhí)行一次,以后再也不執(zhí)行了,還是其他意思呢?請(qǐng)大佬幫忙解答下,謝謝

無(wú)標(biāo)題.png (143.73 KB, 下載次數(shù): 31)

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

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

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

1.png

作者: 興安xa    時(shí)間: 2022-2-21 16:03
上面已經(jīng)定義了,再定義肯定錯(cuò)誤
作者: lkc8210    時(shí)間: 2022-2-21 16:17
因?yàn)榈?5行的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是無(wú)符號(hào),j=255,j>=0,循環(huán)繼續(xù),j--,死循環(huán)了
作者: 舞月驚鴻    時(shí)間: 2022-2-22 23:35
lkc8210 發(fā)表于 2022-2-21 16:17
因?yàn)榈?5行的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--

謝謝,明白了
作者: 羅斯德隆    時(shí)間: 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ù)制代碼

作者: 舞月驚鴻    時(shí)間: 2022-2-23 23:26
羅斯德隆 發(fā)表于 2022-2-23 12:58
這樣寫不是更好嗎?for(j=5;j>1;j--)

你好,你這個(gè)寫法少了個(gè)位數(shù),不行的




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1