原码:
#include
using namespace std;
char *inputa();
char *inputp();
int main()
{
char *p=inputa();
inputp();
cout<
return 0;
}
char *inputa()
{
char str[20]="123";
cout
return str;
}
char *inputp()
{
char *str="223";
cout
return str;
}
![图片说明](https://img-ask.csdn.net/upload/201703/26/1490538889_292907.png)
改一下之后
int main()
{
char *p=inputa();
inputp();
cout
return 0;
}
![图片说明](https://img-ask.csdn.net/upload/201703/26/1490538819_706945.png)
在第一个基础上另一种方法改一下
#include
using namespace std;
char *inputa();
char *inputp();
int main()
{
char *p=inputp();
cout<<inputa()<<","<<p<<endl;
return 0;
}
char *inputa()
{
char str[20]="123";
return str;
}
char *inputp()
{
char *str="223";
return str;
}
希望能够有大神给我讲解每次的变化是为什么
我知道的真的很乱
关于字符串字符数组字符指针和字符指针返回值
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- shen_wei 2017-03-27 07:17关注
int main() { char *p=inputp(); //返回的是指针字符地址。。 cout<<inputa()<<","<<p<<endl; //返回数组首地址。。 return 0; }
char *inputa() { char str[20]="123"; return str; }
局部函数返回的是指针地址。。。
解决 无用评论 打赏 举报