无法获得角色数组的正确输出
Not getting right Output of Character Array
可能的重复:
指向本地变量的指针
#include <iostream>
using namespace std;
char* func();
int main() {
char* str;
str = func();
cout<<str;
return 0;
}
char* func() {
char * str;
char p[] = "priyanka is a good girl";
str = p;
cout<<str<<"n";
return str;
}
给出输出,
priyanka是个好女孩
priy
我不明白这里发生了什么,为什么给出一个不完整的数组作为输出。我对此有些新。请帮助。
您的函数func()
返回指向本地变量的指针,后来在尝试访问它时会导致不确定的行为。
func2()
char p[]
中是在堆栈上初始化的局部变量。将指针返回堆栈变量是一个坏主意(并且也是未定义的行为),我认为当功能返回时,您的字符串" Priyanka是个好女孩"被覆盖。
相关文章:
- 使用递归输出数组
- C++ 输出数组中的最高元素
- 空指针(为缺少的输出数组调用的 create() 在 create,文件 /home/m/OpenCV/modules/
- C++ 为什么我会得到垃圾输出数组?
- C 默认如何输出数组
- 使用递归输出数组
- 从 VB6 调用的 C++ DLL 函数中的输出数组参数
- 递归函数,用于输出数组的最小数量
- 如何在 c++ 中水平输出数组
- 冒泡排序未正确排序或输出数组值
- 按相反顺序输出数组的元素
- 制作一个排列函数,输出数组中所有可能的排列
- OpenCV (c++)缝合器不写入输出数组
- 创建一个3x3x3阵列.用0到9之间的随机值填充.输出数组.找出3个最小值和3个最大值的输出
- 实现[B,C]=f(A)语法(函数f作用于具有两个或多个输出数组的数组)
- 双指针输出数组参数异常
- SWIG Python C++输出数组给出'unknown type'错误
- 以 XLL 为单位获取调用方定义的输出数组尺寸
- c++:如何从函数接收可变长度的输出数组
- 未定义的符号 输出数组 opencv fedora.