c语言中void和int类型函数的定义,急!!!!!!!!!
intInsertList(inti,charstr,Sqlist&L){if(i>L.length||i<=0)return1;else{for(intn=L.leng...
int InsertList(int i,char str,Sqlist &L)
{
if(i>L.length||i<=0)
return 1;
else
{
for(int n=L.length-1;n>=i-1;--n)
L.elem[n+1]=L.elem[n];
L.elem[i-1]=str;
++L.length;
return 0;
}
}
这个是顺序表的插入算法,大家应该很熟悉吧
现在我把它改成void类型
void InsertList(int i,char str,Sqlist &L)
{if(i>L.length||i<=0)
;
else
{
for(int n=L.length-1;n>=i-1;--n)
L.elem[n+1]=L.elem[n];
L.elem[i-1]=str;
++L.length;
}
}
程序依然能够执行
既然执行结果相同,那么什么时候要用void,什么时候要用int呢?
(我知道int可以用return把值返回给函数)
感谢各位,但是,本例本来是不需要返回值的,返回值没有被调用;
为何最优算法中用的是int而不是void? 展开
{
if(i>L.length||i<=0)
return 1;
else
{
for(int n=L.length-1;n>=i-1;--n)
L.elem[n+1]=L.elem[n];
L.elem[i-1]=str;
++L.length;
return 0;
}
}
这个是顺序表的插入算法,大家应该很熟悉吧
现在我把它改成void类型
void InsertList(int i,char str,Sqlist &L)
{if(i>L.length||i<=0)
;
else
{
for(int n=L.length-1;n>=i-1;--n)
L.elem[n+1]=L.elem[n];
L.elem[i-1]=str;
++L.length;
}
}
程序依然能够执行
既然执行结果相同,那么什么时候要用void,什么时候要用int呢?
(我知道int可以用return把值返回给函数)
感谢各位,但是,本例本来是不需要返回值的,返回值没有被调用;
为何最优算法中用的是int而不是void? 展开
10个回答
展开全部
void就是没有返回值的函数,int是返回整数型的函数,不需要返回值就用void喽~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数的类型(声明函数的类型)本来在意思 就是函数执行结果的类型,也就是函数返回值的类型。
在C++中,声明一个 函数是必须要有函数类型的
在原来在C语言中不同,C语言中函数的类型如果不声明的话标识返回值可以是任意类型。
既然执行结果相同,那么什么时候要用void,什么时候要用int呢?
综上所述
当你需要返回结果的时候,则声明返回值为int
不需要在时候则为VOID
在C++中,声明一个 函数是必须要有函数类型的
在原来在C语言中不同,C语言中函数的类型如果不声明的话标识返回值可以是任意类型。
既然执行结果相同,那么什么时候要用void,什么时候要用int呢?
综上所述
当你需要返回结果的时候,则声明返回值为int
不需要在时候则为VOID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的说,定义为void类型的函数就是函数执行后不会返回任何值,定义为int的函数,执行后返回整型的数。
当你需要返回一个整型的值时,就把函数定义为int,不需要返回值时,可用void、int或其他类型定义函数。
“(我知道int可以用return把值返回给函数)”
我想你应该理解错了,return 返回的值不是返回到函数里面的,它是你执行这个函数后,可以return一个值,然后可以赋给一个变量如:
e=InsertList(i,str,L)
你也可以设当插入成功时返回1,失败时返回0,这样再用一个判断语句(如if(InsertList(i,str,L)))进行判断是否插入成功。这是return得一种用法。
从函数的if中大概可猜想到,在main函数中应该也有一个判断,根据InsertList函数的不同返回值,做出不同的操作。有了返回值,程序就可有更多的变化空间
当你需要返回一个整型的值时,就把函数定义为int,不需要返回值时,可用void、int或其他类型定义函数。
“(我知道int可以用return把值返回给函数)”
我想你应该理解错了,return 返回的值不是返回到函数里面的,它是你执行这个函数后,可以return一个值,然后可以赋给一个变量如:
e=InsertList(i,str,L)
你也可以设当插入成功时返回1,失败时返回0,这样再用一个判断语句(如if(InsertList(i,str,L)))进行判断是否插入成功。这是return得一种用法。
从函数的if中大概可猜想到,在main函数中应该也有一个判断,根据InsertList函数的不同返回值,做出不同的操作。有了返回值,程序就可有更多的变化空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sqlist &L是一种引用,它直接对传入的链表进行操作,所以是否return长度或者其它什么对函数都没有影响,在退出函数时你传入的L已经被彻底的改变了,这就是引用的独到之处。
void 和int的用法见楼上。
最优算法加return也就是为了安全,比如,成功还是失败,调用函数要知道啊。
void 和int的用法见楼上。
最优算法加return也就是为了安全,比如,成功还是失败,调用函数要知道啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当子函数需要给调用函数提供一些必要的信息的时候就需要返回值了
比如说计算结果
或者是执行状态信息等
一切看程序的需要
比如说计算结果
或者是执行状态信息等
一切看程序的需要
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询