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

QQ登錄

只需一步,快速開始

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

求助C語(yǔ)言if語(yǔ)句及else的運(yùn)用是否合理?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:242464 發(fā)表于 2021-8-27 16:05 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
if(h>=v4)
{
if((h-v4)>=3)
v4=v4;
else
v4=h;
}
else
if((v4-h)>=3)
v4=v4;
else
v4=h;
這是一段將一個(gè)數(shù)h與另一個(gè)數(shù)V4進(jìn)行比較,當(dāng)h的值超過V4的值±3時(shí)都不要。這里我想問一下各位高手我的if語(yǔ)句及else的運(yùn)用是否合理。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:235200 發(fā)表于 2021-8-27 19:44 | 只看該作者
顯然不合理,如果h這個(gè)值既不大于也不小于時(shí)沒有作任何處理
回復(fù)

使用道具 舉報(bào)

板凳
ID:883242 發(fā)表于 2021-8-27 19:50 | 只看該作者
倒數(shù)第二個(gè)else后面缺了花括號(hào)包住后面所有語(yǔ)句,導(dǎo)致該else變成了else if,最后一個(gè)else對(duì)應(yīng)第一行的那個(gè)if。
回復(fù)

使用道具 舉報(bào)

地板
ID:242464 發(fā)表于 2021-8-28 10:36 來(lái)自手機(jī) | 只看該作者
謝謝兩位的指點(diǎn)
回復(fù)

使用道具 舉報(bào)

5#
ID:466730 發(fā)表于 2021-8-28 10:43 | 只看該作者
if ((h < v4 - 3) || (h > v4 + 3))
    h = v4;
回復(fù)

使用道具 舉報(bào)

6#
ID:716656 發(fā)表于 2021-8-28 11:07 | 只看該作者
Hephaestus 發(fā)表于 2021-8-27 19:50
倒數(shù)第二個(gè)else后面缺了花括號(hào)包住后面所有語(yǔ)句,導(dǎo)致該else變成了else if,最后一個(gè)else對(duì)應(yīng)第一行的那個(gè)i ...

if(h>=v4)
{
if((h-v4)>=3)
v4=v4;
else
v4=h;
}
else
{
if((v4-h)>=3)
v4=v4;
}
else
v4=h;
回復(fù)

使用道具 舉報(bào)

7#
ID:382454 發(fā)表于 2021-8-28 11:35 | 只看該作者
看起來(lái)賊變扭呀。。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

8#
ID:962743 發(fā)表于 2021-8-28 13:40 | 只看該作者
if ((h < v4 - 3) || (h > v4 + 3))
     v4= h;
回復(fù)

使用道具 舉報(bào)

9#
ID:624769 發(fā)表于 2021-8-28 14:21 | 只看該作者
本帖最后由 188610329 于 2021-8-28 16:11 編輯

按你的內(nèi)容,整理邏輯后,
大概是這個(gè)意思: h 比 v4 +3 小 或者 h 比 v4 - 3 大  則  v4 = h, 否則 v4 不變,
那么,其實(shí),應(yīng)該就是這么一行代碼。

if ((h > v4 - 3) || (h < v4 + 3))      v4 = h;

另外 你最后那個(gè) } 位置不對(duì), 應(yīng)該在 v4 = h; 之后, 不然 最后那個(gè) else 沒有if 配對(duì)了。
回復(fù)

使用道具 舉報(bào)

10#
ID:386001 發(fā)表于 2021-8-30 09:46 | 只看該作者
我的理解:
如果你的是判定一個(gè)數(shù) h 是不是在 V4 的±3之內(nèi),即 V4的公差為±3,如沒超公差就保留,超了就不要了
那么程序中只要加這個(gè)即可:
if ( (h < v4 + 3) &&(h > v4 - 3))     
      v4 = h;
回復(fù)

使用道具 舉報(bào)

11#
ID:415064 發(fā)表于 2021-8-30 18:22 | 只看該作者
給你格式化了下,你自己分析
if (h >= v4)
{
    if ((h - v4) >= 3)
        v4 = v4;
    else
        v4 = h;
}
else if ((v4 - h) >= 3)
    v4 = v4;
else
    v4 = h;
回復(fù)

使用道具 舉報(bào)

12#
ID:743654 發(fā)表于 2021-8-31 08:54 | 只看該作者
樓主先理清一下else if 的關(guān)系,else是與最近的if 成對(duì)的
回復(fù)

使用道具 舉報(bào)

13#
ID:963178 發(fā)表于 2021-8-31 10:25 來(lái)自手機(jī) | 只看該作者
除了第一個(gè)if對(duì)應(yīng)的else,語(yǔ)法沒錯(cuò)誤,就是有點(diǎn)麻煩
回復(fù)

使用道具 舉報(bào)

14#
ID:963178 發(fā)表于 2021-8-31 10:26 來(lái)自手機(jī) | 只看該作者
v4=v4沒必要寫
回復(fù)

使用道具 舉報(bào)

15#
ID:313048 發(fā)表于 2021-8-31 10:56 | 只看該作者
if ( (h < v4 + 3) &&(h > v4 - 3))     
      v4 = h;
如果你是初學(xué),那么你可以一條條的列下來(lái)捋順邏輯,但是你的最后一定要慢慢變成上述這個(gè)一條語(yǔ)句就可以解決的樣子。這樣才能慢慢進(jìn)步。
回復(fù)

使用道具 舉報(bào)

16#
ID:950946 發(fā)表于 2021-8-31 12:08 | 只看該作者
本帖最后由 dwb123 于 2021-8-31 12:12 編輯

這波完全就是全集了,沒有用的
回復(fù)

使用道具 舉報(bào)

17#
ID:451629 發(fā)表于 2021-8-31 18:29 | 只看該作者
顯然不合理的,第一個(gè)if判斷只包含了第二個(gè)i判斷f,沒有包含第三if判斷
回復(fù)

使用道具 舉報(bào)

18#
ID:476415 發(fā)表于 2021-8-31 18:39 來(lái)自手機(jī) | 只看該作者
大家樂意幫助新手,但是,網(wǎng)絡(luò)真的拉低了人們自己追求解決問題的動(dòng)力,這種問題都要發(fā)個(gè)帖問下……
回復(fù)

使用道具 舉報(bào)

19#
ID:981034 發(fā)表于 2022-1-5 15:05 | 只看該作者
這個(gè)我也不會(huì),最好笑是問電子技術(shù)的,這么簡(jiǎn)單也問,編出的程序有用?但一細(xì)想,自己會(huì)才偷笑,不要怪人
回復(fù)

使用道具 舉報(bào)

20#
ID:139866 發(fā)表于 2022-1-5 18:00 | 只看該作者
本來(lái)也想寫一個(gè)程序,寫完括號(hào)想了想,這么簡(jiǎn)單我還浪費(fèi)時(shí)間?
這種問題你自己運(yùn)行一下就知道了,連這點(diǎn)問題都不愿意花時(shí)間調(diào)試,或許該考慮放棄了
回復(fù)

使用道具 舉報(bào)

21#
ID:908826 發(fā)表于 2022-1-6 08:22 | 只看該作者
你這個(gè)寫法相當(dāng)別扭,else會(huì)與上面第一個(gè)顯式可見的if配對(duì),所以基本語(yǔ)法是能用運(yùn)行的,但是邏輯確實(shí)夠亂的。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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