函数的返回,对于不需要有返回值的函数,该如何操作?

如题所述

有的函数是不需要返回值的。这样的函数只需要做一件事情,我们调用它的时候知道这个函数结束之后,我们想让他做的事就做完了,我们不需要看他的返回值。

如果一个函数不返回值,那么在声明的地方把返回值类型声明成void就可以了,比如:

void foo(int bar);

但是有一个奇怪的事。如果一个函数不返回值,那么一般的return 0那个地方写什么呢?直接写return分号就可以了。因为return这个关键字有两个作用:结束函数和把返回值传回去。既然我们不需要返回值,就用return的第一个作用就行了。

举个小例子,把类似于下面的图形打在屏幕上:

*

***

*****

*******

*********

要求输入一个n,n等于几就打几行上面的图案。分析一下,第i行由n-i+1个空格和2*i-1个星号组成,于是我们可以编写两个函数,第一个函数叫printSpace,参数是要打多少个空格,第二个函数叫printStar,参数是要打多少个星号,然后在一个循环里面调用这两个函数就行了。

/*

50_1

return void

*/

#include <stdio.h>

void printSpace(int n);

void printStar(int n);

int main()

{

int i,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

{

printSpace(n-i+1);

printStar(2*i-1);

printf("\n");

}

return 0;

}

void printSpace(int n)

{

int i;

for(i=1;i<=n;i++)

printf(" ");

return;

}

void printStar(int n)

{

int i;

for(i=1;i<=n;i++)

printf("*");

return;

}

怎么样?是不是用函数可以简化你的编程?如果不用函数,那么就要循环里面套循环了。还有一个问题需要引起注意。这个程序中i和n出现了很多次。但是由于i和n都是在自己的函数里面声明的,所以都是局部变量,虽然名字一样,但是互相之间没有任何影响。如果你忘了,可以去看看前面局部变量的章节。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-02
for(int i=0;i<iCount;i++) //有iCount个人投票,分别处理每个人的投票过程
{
for(int n=0;n<3;n++) //先显示3个候选人的信息
cout << "选" << p[n].name<< "按" << n<< endl;
cin >> iInput; //输入选举号
if(iInput>2) //只能输入0,1,2,其他输入显示Err
{
cout << "Err" << endl;
return 0;
}
else
p[iInput].iVote++; //p[0],p[1],p[2]分别统计三个候选人的得票数本回答被提问者采纳
第2个回答  2011-12-20
直接 调用就可以了呀...
fun();
不过一般函数都有返回值,起码有表示执行是否成功的...
自己写函数也最好都要有返回值,执行成功返回1 失败返回0
第3个回答  2011-12-20
声明为void, 最后return ;
如下:
void fun()
{
....
return ; //或者不要这一句,就可以了。
}
相似回答