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