由一个简单的有返回值的子程序想到的

程序如下:

# include<stdio.h>
int in(int elem,int s[],int size);

void main()
{
int x;
int s[]={1,2,3,5,4,5};
x=in(2,s,6);
printf("x=%d\n",x);

}

int in(int elem,int s[],int size)
{

for(int i=0;i<size;i++)
if(elem==s[i])
return 0;

return 1;
}

注意点:

1、  子程序中,注意,for语句只是管到return 0;这句,因为for后边如果没有加{}的时候,就只能管到for后边的一句话。

2、  这里的for中的if语句只是这么一句话,并没有else,所以,如果调用子程序时候,先进for循环,判断s[]是否等于elem的值,如果相等,便直接执行return 0;然后跳出子程序;如果不相等,便执行i++,判断下一个s[]…直到遇到一个s[]等于elem,如果到最后都没有遇到,则跳出for,执行后边的return 1;

3、  这里的return 1;是非常有必要加上的!!!

4、  带返回值的子程序执行到一个return时候便结束子程序,返回主函数!

原文地址:https://www.cnblogs.com/steararre/p/2407080.html