今天遇到這樣一道題
在借鑑了別人的做法後終於寫出了(其實是抄出了)**
這是第一版
#include
intmain()
switch
(gh)
x1=sum;
}printf
("%d"
,x1)
;return0;
}
執行時發現,輸入非法字元和分母為0時,除錯出現問題
這時對比正確的寫法,發現少了return 0
當分母為0時,缺少return 0會接著進入switch的迴圈中,直接到case』 / ',從而陣列越界的情況
當輸入非法字串時,輸出error後用的是break,只是結束了這個switch迴圈,while迴圈並沒有結束,會接著把sum賦值給x1,從而出現輸出結果還有x1的情況;當改為return 0後,程式會自動結束執行(跳到最後的return 0)
今天這個題需要以後在寫一寫,一是沒做出來,沒有想到用switch迴圈這個方法,二是記住return 0的作用
return 0和return的區別
return語句有以下形式 return 不帶返回值的return語句 return 0 帶返回值的return語句,或者返回乙個變數或乙個函式。return 1 表示函式異常結束 不帶返回值的return語句用於,中斷返回值為void型別的函式的執行,而帶返回值的return則不行。include...
return 1 或 return 0 的作用
在c或c 中常有一些程式,結尾有不影響執行的 return 1或 return 0 它們有什麼作用?return 0是正常退出,return 非零 是異常退出,這是返回給控制台的,不在你編的程式的控制範圍內,是給作業系統識別的,對你的程式無影響。如果是c中,定義void main 可以不用返回值。具...
c語言中的return 0有什麼用
c語言為什麼要return 0 個人看法 用return這種形式就能定義返回值,return 0可以 終止 main 函式,並返回值 0。return 0 代表程式正常退出,return 1代表程式異常退出!使用return 語句可以返回乙個變數內的值或乙個指標,也可用return0,表示返回為空。...