c语言main函数调用子函数后,怎么获取子函数的返回值数组

c语言main函数调用子函数后,怎么获取子函数的返回值数组,第1张

获取子函数的返回值/数组如下:

一、如果只有一个值要返回,那么用返回值

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函数调用,简单的就行,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9668784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存