由一个简单的有返回值的子程序想到的
程序如下:
# 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时候便结束子程序,返回主函数!