找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2089|回復(fù): 11
收起左側(cè)

C語(yǔ)言語(yǔ)法求解

[復(fù)制鏈接]
ID:735286 發(fā)表于 2021-2-19 11:59 | 顯示全部樓層 |閱讀模式
        disdata[1]=tvalue%1000/100+0x30;// 十位數(shù)        
        disdata[2]=tvalue%100/10+0x30; // 個(gè)位數(shù)
怎么分別用if語(yǔ)句來(lái)比較個(gè)十位,比如說(shuō)要在20~25區(qū)間為正確,其他為不正確。
我編譯這個(gè)
if(disdata[1]>1&&disdata[1]<3&&(disdata[2]<5)
        {
        temp=0x80;   //led燈亮
        In_Data();
        Out_Data();
        DelayMS(1000);                           
        }
為什么實(shí)現(xiàn)不了仿真???
求求大神指導(dǎo)一下

回復(fù)

使用道具 舉報(bào)

ID:196216 發(fā)表于 2021-2-19 14:51 | 顯示全部樓層
if((disdata[1]>1&&disdata[1]<3)&&disdata[2]<5)這樣試試 括號(hào)問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:112099 發(fā)表于 2021-2-19 15:48 | 顯示全部樓層
你這不是比較十個(gè)位吧?我怎么感覺(jué)在比較十位和百位?
回復(fù)

使用道具 舉報(bào)

ID:644924 發(fā)表于 2021-2-19 16:02 | 顯示全部樓層
前面的disdata[1]和disdata[2]已經(jīng)轉(zhuǎn)換成ASCII碼了,所以下面比較的時(shí)候需要用ASCII碼比較

if((disdata[1]>0x31&&disdata[1]<0x33)&&disdata[2]<0x35)
回復(fù)

使用道具 舉報(bào)

ID:592807 發(fā)表于 2021-2-19 16:27 | 顯示全部樓層
if(disdata[1]>'1'&&disdata[1]<'3'&&(disdata[2]<'5')

disdata[1]=tvalue%1000/100+0x30;// 十位數(shù)   你都加0x30了還和1 2 3比
回復(fù)

使用道具 舉報(bào)

ID:592807 發(fā)表于 2021-2-19 16:28 | 顯示全部樓層
我一歲 發(fā)表于 2021-2-19 14:51
if((disdata[1]>1&&disdata[1]

要和字符比,他加0x30了
回復(fù)

使用道具 舉報(bào)

ID:716656 發(fā)表于 2021-2-19 17:07 | 顯示全部樓層
括號(hào)有問(wèn)題(()
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2021-2-19 17:43 | 顯示全部樓層
本帖最后由 wulin 于 2021-2-19 20:46 編輯

由于緩存disdata[x]里保存的是ASCLL碼,所以用字符判斷才合
20~25區(qū)間為判斷條件
錯(cuò)誤:disdata[1]=tvalue%1000/100+0x30;// 十位數(shù)
錯(cuò)誤:disdata[2]=tvalue%100/10+0x30; // 個(gè)位數(shù)

正確:
        disdata[1]=tvalue/10%10+0x30;// 十位數(shù)
        disdata[2]=tvalue%10+0x30; // 個(gè)位數(shù)

        if(disdata[1]=='2' && disdata[2]<='5')
        {
                temp=0x80;   //led燈亮
                In_Data();
                Out_Data();
                DelayMS(1000);
        }


回復(fù)

使用道具 舉報(bào)

ID:824490 發(fā)表于 2021-2-19 22:42 | 顯示全部樓層
tvalue%100,就是取tvalue的個(gè)位和10位了,不用這么麻煩!還用的上數(shù)組?還要轉(zhuǎn)成ASC碼來(lái)比較?
所以
if (tvalue%100>20 && tvalue%100<25)
{
加入你要的控制代碼
}
回復(fù)

使用道具 舉報(bào)

ID:419968 發(fā)表于 2021-2-19 23:16 | 顯示全部樓層
disdata[1]=tvalue%1000/100+0x30; +0x30 是ascii碼
回復(fù)

使用道具 舉報(bào)

ID:735286 發(fā)表于 2021-2-19 23:54 | 顯示全部樓層
中科愛(ài)思 發(fā)表于 2021-2-19 16:02
前面的disdata[1]和disdata[2]已經(jīng)轉(zhuǎn)換成ASCII碼了,所以下面比較的時(shí)候需要用ASCII碼比較

if((disdata[ ...

可以了,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:885145 發(fā)表于 2021-2-20 15:57 | 顯示全部樓層
前面的disdata[1]和disdata[2]已經(jīng)轉(zhuǎn)換成ASCII碼了,所以下面比較的時(shí)候需要用ASCII碼比較

if((disdata[1]>0x31&&disdata[1]<0x33)&&disdata[2]<0x35)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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