c语言定义函数返回文字,c语言定义函数判断回文数

C语言中函数如何返回字符串?

别听 楼上 的 瞎说, 也 别 百度 了, 都是 错 的, 我 告诉 你 正确 答案

成都创新互联公司专注于广南网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供广南营销型网站建设,广南网站制作、广南网页设计、广南网站官网定制、成都小程序开发服务,打造广南网络公司原创品牌,更为您提供广南网站排名全网营销落地服务。

函数 中 的 字符 串 在 函数 结束 的 时候 会 自动 被 释放 掉, 所以 即使 返回 char* 指向 的

也 就是 原 函数 字符串 的 地址, 访问 的 是 一个 系统 没有 分配 给 程序 的 内存, 虽然 编译器 不会 报错, 但 语法 绝对 是 错误 的,而且 你 不一定 能 得到 一个 正确 的 结果

三种 解决 方法:

1, struct ret { char a[100]; }; 返回 一个 结构, 结构里面 包含 字符串

2, char* ret = (char *)malloc(100 * sizeof (char)); 在 函数 里 开 一个 动态 的 字符串, 这个 可以 返回, 不过 动态 内存 需要 手动 free 掉

3, 这个 不是 c语言 了, 调用 c++ 里面 的 string 类型, 也是 最简单 的 办法, 省心, 安全

c语言函数返回字符串

在time1()函数里,char now[]是个在函数里声明的临时变量

函数返回 char * p之后 ,char now[]的空间就已经释放掉了

如果你想返回时间字符串

把char now[80]; 改成 char *now =(char *)malloc(sizeof(char)*80);

用malloc函数申请空间,函数返回之后空间就不会被释放掉了

VC++ 6.0编译通过

在C语言中,返回一个字符串的函数应该怎样定义

要返回字符串 需要返回char*类型

需要注意的是 返回的字符串 不能是该函数的局部变量,否则会导致出错

可以是参数字符串,全局变量,静态局部变量,或者动态分配的内存

比如

char *my_str_cpy(char *d, char *s)

{

char *p=d;

while(*p++=*s++);

return d;//返回参数字符串。 

}


文章名称:c语言定义函数返回文字,c语言定义函数判断回文数
文章链接:http://ybzwz.com/article/dsgosig.html