指针函数返回的地址怎么赋给主函数中的指针?

来源:百度知道 编辑:UC知道 时间:2024/06/04 17:51:38
#include <stdio.h>
char *output(int n)
{
char charact[]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
char *p,return_char[30];
int i;
for (i=0;i<n;i++) //将前n个字符转到另一个字符串
{
return_char[i] = charact[i];
}
return_char[n] = '\0';
p = return_char;
return p;

}
void main()
{
int n;
char *ch;
printf("输入n:");
scanf("%d",&n);
ch = output(n);
puts(ch);
}
ch怎么没收到地址?
还想请教一下,怎么用new?

如果懒得new,直接在你那一个串前加static修饰也行
static char charact[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

new的用法
char* output;
output=new char[n+1];
//...
return output;

你要NEW出来

output(n); 调用完 他的生命周期也就结束

里面的变量也就没了

要用new出来的变量才行

用静态局部变量 static