小狐 發問時間: 電腦與網際網路程式設計 · 1 0 年前

c語言基本概念~和while有關

以下是code:

while(!function(x) )

{

worktable(a,b);

break;

}

function為一個函數

有可能會回傳0或 -1

我的問題是:

1.while裡的條件那個 ! 代表什麼意思?

2.function回傳的值一般來說代表什麼意思,我記得1是true、0是false,那回傳-1的話一般來說是什麼原因?

3.以上面的code來說,是不是只要一進去這個while後不管怎樣都一定會跑到那個break就結束了,所以這個while一定最多只做一次?

謝謝大家!!

已更新項目:

謝謝回答

再補充問一下:

while裡一般來說非0都是true的話

那加了 ! 是相反的意思嗎?

變成非0都是false?

我不太懂不等於是不等於什麼

2 個已更新項目:

最後補一個問題:

如果是(!-1)的話會是什麼?

會變1嗎?還是0?

3 個解答

評分
  • 1 0 年前
    最佳解答

    您好

    1.while裡的條件那個 ! 代表什麼意思?

    while(!function(x) )中的 ! 是一個反相的意思,

    表示 1->0 , 0->1

    while(! 1) = while (0)

    while(! 0) = while (1)

    2.function回傳的值一般來說代表什麼意思,我記得1是true、0是false,那回傳-1的話一般來說是什麼原因?

    通常function的回傳值會有自己的意思存在,但是大多數如果只是回傳true and false的話,比較有可能代表此function是否執行成功,如果成功就回0,如果失敗就回-1,因為在開發東西的時候,如果收到一個-1值的時候,就會表示發生錯誤了,這樣就可以debug用。

    3.以上面的code來說,是不是只要一進去這個while後不管怎樣都一定會跑到那個break就結束了,所以這個while一定最多只做一次?

    是的,沒有錯,當一執行到break的時候就會跳出while,順帶一提,break 也可以跳出switch,跟for迴圈。

    謝謝 希望有幫到您

    2010-09-23 14:34:07 補充:

    在每種compiler軟体的結果會不相同

    所以如果是在visual中的話

    while (! -1) = while (0)

    因為在visual中的while裡只有true跟false

    而除了0之外全都是true

    參考資料: me, me
  • Lv 4
    1 0 年前

    我來說明'!'

    在程式中的等於表示為真

    不等於就是為非了啊

    換言之,假如,跑出的ture

    while卻不執行

    因為踏緒要是否定才會執行

    沒錯就是相反的啦

    然後因為break

    因此判斷要不要執行

    因此用if就好了啊

    習慣上break會與if連用

    參考資料:
  • 1 0 年前

    1.!的意思維不等於

    2.你不把function(x)內容打出來 全世界最強的人應該都解不出來吧

    一般只要是非0 都代表ture

    3.沒錯只會跑一次

    參考資料: 巨匠補習班講義
還有問題?馬上發問,尋求解答。