返回值就是子函数在执行完之后得到的数据。
#include <stdio.h>
#include<string.h>
//gets函数和puts函数
int mylength(char a[])
{
int i=0;
while(a[i])
{
i++;
}
return i;//返回值就是函数最后需要的值,如这次我们需要返回值i来确定字符串的长度,所以需要return i。而不能像常规的方法那样简单使用返回值return 0;
}
int main() {
char c[100];
int len;
gets(c);//gets,puts里面的参数只能是字符数组名。
puts(c);
printf("i love %s\n",c);
len=strlen(c);
printf("%d\n",len);
printf("%d", mylength(c));
return 0;
}
观察第一段函数代码,这段代码中有一个变量i,所以这段函数运行结束后可以把这个i返回出来,当然也可以返回其他自定义数值,如0.但是在倒数第三行,我们需要使用函数的返回值为%d赋值,该函数的目的是计算字符串的长度。我们经过思考发现i的值恰好就是我们想要的字符串的长度,所以要用return接住这个i值,并且赋给%d。
如果我们把返回值想当然的变成0,即“return 0;”,那么最后的printf打印出来的值也是0,不符合我们的要求。
所以"mylength"的值就是最上面函数return后面的值,而且也必须需要一个返回值。如果不用返回值,用void的话,程序就会报错。