PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] return值的問題
作者:
huhunhiaccc
(chchch)
2020-12-16 16:27:40
大家好
請問下面程式碼第五行為什麼return要回傳的值是-1?
為什麼不是0
有代表什麼意思嗎 我google都查不到相關的
只好來詢問板上各位大大
int Polynomial_Print(Polynomial *poly)
{
int cc = 0;
int ii;
if (poly == NULL) return -1;
for (ii = Polynomial_MaxDegree; ii >= 2; ii
作者:
loveme00835
(髮箍)
2020-12-16 16:29:00
你其他地方的回傳值分別是多少?
作者:
huhunhiaccc
(chchch)
2020-12-16 16:35:00
謝謝回覆 這個函式庫裡的函式除了宣告void的都是回傳-1或是多項式的degree值還有一個確認是否為0多項式的是回傳(1==1)
作者:
loveme00835
(髮箍)
2020-12-16 16:38:00
連 Polynomial_Print() 結尾也是回傳 -1? 因為 int作為函式回傳值型別是很差的設計, 所以必須藉由程式碼來推敲設計的目的以及合理性
作者:
Schottky
(順風相送)
2020-12-16 16:54:00
第五行應該是檢查參數,排除不合理或不接受的參數但為什麼是 return -1 要看註解或問原作者畢竟從你剪下的片斷並沒辦法判斷正常應該是return什麼所以你問為什麼不是 0,這個問題我也覺得摸不著頭腦為什麼你覺得要是 0 ?
作者:
huhunhiaccc
(chchch)
2020-12-16 17:02:00
0只是打個比方 我想知道的是-1有沒有代表什麼意思還是其他任何整數都可以
作者:
LPH66
(-6.2598534e+18f)
2020-12-16 17:17:00
如果是其他人寫的函式庫程式碼, 它的文件裡一定會有解釋這種事情你只能問寫的人他想表達什麼
作者:
ddavid
(謊言接線生)
2020-12-16 17:48:00
這完全要看他整體是怎麼設計的有的時候只是用-1表達某個意思,但有時可能是某種tricky用法(比如呼叫者會拿來+1再往回丟之類的),這沒法只看這邊得到結論不過要我猜的話,我會猜這邊的-1只是拿來當error code,但還是要強調這只是猜測
作者:
loveme00835
(髮箍)
2020-12-16 18:25:00
你要有其他種類的回傳值存在, 才可能從用法推敲出各自扮演的角色為何 (通常是正交的)
作者: ctrlbreak
2020-12-16 19:29:00
這code google的到,0以上都合法所以只能傳-1當錯誤吧XD
作者:
ddavid
(謊言接線生)
2020-12-17 16:01:00
樓上這樣說很合理也很常見XD願意使用exception的在這種情況可能就會選擇使用來做區別
作者:
kingofsdtw
(ä¸èƒ½é–’下來!!)
2020-12-26 08:12:00
看個人寫作風格,嚴謹的程式會避免用-1,0當作true
繼續閱讀
Re: [問題] if(X||Y)以及if(a()||b())的差異
poyenc
Re: [問題] 範例的時間複雜度
ddavid
[問題] if(X||Y)以及if(a()||b())的差異
ironstark
[問題] 範例的時間複雜度
anoymouse
[問題] 專案間資料共通問題
fanssica
[問題]chdir函數一些小問題
lazy0813
Re: [問題] 請問C語言函式回傳二維陣列的問題?
descent
[問題] 請問C語言函式回傳二維陣列的問題?
SST2000
[贈書] 已贈出
foxs9
[問題] 平衡二元樹
spong
Links
booklink
Contact Us: admin [ a t ] ucptt.com