c语言return返回字符串
答:char* str = malloc(strlen(s)+1);strcpy(str, s);return str;} 在函数内部定义的任何变量,当函数返回后都会被系统收回内存,指针也会被收回,但是指针指向的地方就不一定了,就好比你的电话本上的记录被删除了,但是电话对应的那个人和手机还在。同样的道理,想要返回字符串,只能把内容放在安全的...
答:1 char*formatTime(time_t t) ,函数类型定义为指向字符串的指针,你返回str就行 2 如果你在主函数中定义str的话,再把他传给被调用函数,这样被调用函数改变了str的值后,在主函数那边即可输出,被调用函数不需要返回任何值更省事
答:C语言返回值不支持返回数组,不过可以通过返回指针类型,用以替代数组。在C语言中,数组大多数时候是可以用指针替代的。不过需要注意的是,不能够返回在函数内部定义的局部变量数组,因为一旦函数退出,局部变量就会被释放,导致数组指针无效。可以返回以下几种:1 全局变量,或者全局变量空间内的一个地址。2...
答:三种 解决 方法:1, struct ret { char a[100]; }; 返回 一个 结构, 结构里面 包含 字符串 2, char* ret = (char *)malloc(100 * sizeof (char)); 在 函数 里 开 一个 动态 的 字符串, 这个 可以 返回, 不过 动态 内存 需要 手动 free 掉 3, 这个 不是 c语言 了,...
答:给你写了个例子,fun函数用于为字符串开辟空间,然后返回字符串的指针 include include char fun(int n){ return (char )malloc(n);} void main(){ char ray;int i;ray = fun(5);for (i = 0;i < 4;++i){ ray[i]= 65+i;} ray[4]...
答:野指针的含义:超出生命周期的指针,包括函数内局部数据的指针(static修饰数据除外,它不在栈上)和已经被释放了的动态分配内存区。char *Getstr(void){ char s[80];scanf("%s",s);printf("s = %p\n",s);return s;} 这个函数,是将栈内局部变量的地址返回给调用者,调用者拿到的指针属于...
答:C语言不能返回字符串,你只能给函数一个字符数组的参数,用参数来返回 void foo(char str,int n){ str[0]= 'a';str[1]= 'b';str[2]= 'c';} int main(){ char c[255]= {'\0'};foo(c,255);printf("%s\n",c);} 函数参数里的n是用于判断这个字符串长度,以防越界操作 ...
答:name数组初始化赋值为八个字符串,分别表示各个星期名及出错提示。形参n表示与星期名所对应的整数。在主函数中,把输入的整数i作为实参,在printf语句中调用day_name函数并把i值传送给形参n。day_name函数中的return语句包含一个条件表达式,n值若大于7或小于1则把name[0]指针返回主函数输出出错提示字符...
答:{ char name[20];scanf("%s",name);printf("%s",output(name));} char *output(char name[]){ int i,n;char *p char b[20];n=strlen(name);for(i=0;i<n;i++)b[i]=name[n-1-i];strcpy(name,b);//p=b;//局部变量b是放堆栈的,函数返回后其内存被系统回收。return name;...
答:char *longer_string(char *s1, char *s2){return strlen(s1)>=strlen(s2)?s1:s2;}
网友评论:
居独13824868894:
C语言,return可以返回一个常字符串吗?如: return "666"; -
54212强股
: 可以,但是它的返回其实和你返回return 1结果是一样的,因为return的结果只有真和假,也就是1和0,666其实就相当于1,相当于返回真.不会真的返回666本身这个值的
居独13824868894:
C里面函数怎么返回字符串? -
54212强股
: 返回指针就可以了 //举例 下面的程序就是用return返回了str1和str2 #include "stdio.h" #include "stdio.h" int i; char *string_chage(char str1[],char str2[],char str3[10]) { { for(i=0;str1[i]!='\0';i++) str3[i]=str1[i]; str3[i]='\0'; } { for(i=0;str2[i]!='\0';i++) str1[i]...
居独13824868894:
如何从函数中返回字符串 -
54212强股
: C语言中实现函数返回字符串,首先要确定函数返回的字符串地址的来源,一般分为四种方式:1. 函数形参带进来的地址 2. 静态局部变量地址 3. 局部变量地址,必须在函数中用malloc()函数进行地址分配 4. 采用全局变量地址 参考代码: ...
居独13824868894:
C语言函数如何返回字符串? -
54212强股
: 1 char*formatTime(time_t t) ,函数类型定义为指向字符串的指针,你返回str就行 2 如果你在主函数中定义str的话,再把他传给被调用函数,这样被调用函数改变了str的值后,在主函数那边即可输出,被调用函数不需要返回任何值更省事
居独13824868894:
return语句的返回值可以为一个字符串吗? -
54212强股
: 可以返回字符串指针,不可以返回字符串. 指针函数是指返回值是指针的函数,即本质是一个函数. 函数指针是指向函数的指针变量,即本质是一个变量. 如果返回的是指针,直接使用就可以了 char * sub() { char *out = new char[20]; strcpy(out,"hello, world!"); return out; } void main(void) { printf("%s\n",sub()); }
居独13824868894:
c语言中return;语句返回的是什么值啊 -
54212强股
: return;表示返回一个空值,return 1;返回1; return 'a';返回字符a
居独13824868894:
C语言中return 涵义 -
54212强股
: return会截断函数的控制流,从一个函数中立即退出.对于void返回类型函数来说,如果没有return,可以用goto跳转到函数末尾来实现,编译器会自动实现清理堆栈的代码(相当于函数末尾隐含了return);因此,return只是语法糖,不是必须的...
居独13824868894:
c语言怎么返回字符串数组? -
54212强股
: C语言返回值不支持返回数组,不过可以通过返回指针类型,用以替代数组.在C语言中,数组大多数时候是可以用指针替代的.不过需要注意的是,不能够返回在函数内部定义的局部变量数组,因为一旦函数退出,局部变量就会被释放,导致数组指针无效. 可以返回以下几种: 1 全局变量,或者全局变量空间内的一个地址. 2 静态局部变量,或者静态局部变量内部的一个地址. 3 从参数传入的数组/指针变量,或者在其上做的合法偏移. 4 在数组内部动态申请的空间首地址.
居独13824868894:
在C语言中,RETURN怎么用? -
54212强股
: return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定. return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的. 如果函数执行不需要返回计算结果,也经常需要返回一个状...
居独13824868894:
C语言中函数如何返回字符串? -
54212强股
: 别听 楼上 的 瞎说, 也 别 百度 了, 都是 错 的, 我 告诉 你 正确 答案函数 中 的 字符 串 在 函数 结束 的 时候 会 自动 被 释放 掉, 所以 即使 返回 char* 指向 的 也 就是 原 函数 字符串 的 地址, 访问 的 是 一个 系统 没有 分配 给 程序 的 内存, ...