一、如果只有一个值要返回,那么用返回值
char ptr。
int SIZE = 1024。
ptr = subFunc()。
int a=fun()。
int fun()。
fun(int a[], int size)。
if (null != (ptr_cmp = malloc(SIZE+1))。
memcpy(ptr_cmp, array_tmp, SIZE)。
二、数组是用循环达到依次赋值的目的
char subFunc()。
ptr_cmp = '\0'。
return ptr_cmp。
char subFunc()。
char ptr_tmp。
int array_tmp[1024] = {}。
void fun(int a)。
一个main函数,一个取子串函数substr,一个求字符串反转的函数f31 f31函数用到了函数的递归调用。
substr函数就是在s串中从pos位置开始取len长度的字串,然后赋给字符串t。
f31每次都是把串s的第一个字符赋给t,剩下的部分赋给s,f31(s)求得剩余部分的反转字符,第一字符再连接到反转字符之后,即实现了整个字符串的反转。
反序字符串,只需要将首尾字符依次调换即可。
#include <stdioh>#include <stringh>
// 反序字符串x并返回
char reverse(char x)
{
int len = strlen(x);
int i, n = len / 2;
char tem;
for (i = 0; i <= n; i++)
{
tem = x[i];
x[i] = x[len - 1 - i];
x[len - 1 - i] = tem;
}
return x;
}
int main()
{
char str[100];
printf("input a string :");
gets(str);
puts(reverse(str));
return 0;
}
while((i=search(&s[i],t[0]))!=-1)
是比较t[0]和s[i],如果第一个字都不匹配,那么直接i++,如果第一字母一样, 那么调用strncompare函数匹配它是不是子串,在strncompare中如果字串到了末尾,则肯定匹配,或者,两个相同,则s[i]-t[i]; 也为0
所以,如果匹配的话返回为0
其次strncompare的首个参数是&s[i],它会一个一个往后面移动。i++就是用来使strncompare第一个参数的指针往后移。
有几个函数 你可以根据需求使用
strstr 可以在字符串中查找另一个字符串 用来提取也可以
strchr 可以找字符
sscanf 类似于scanf 可以格式化提取。
以上就是关于c语言main函数调用子函数后,怎么获取子函数的返回值/数组 全部的内容,包括:c语言main函数调用子函数后,怎么获取子函数的返回值/数组 、c语言的数据结构,求大神们帮帮忙。无法理解这题的函数实现方式,能一步步给小弟解释一下吗、c语言创建一个顺序串,包含主串和子串,串的读取,用main函数调用,简单的就行,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)