来自C 的指针数组的打印值
Printing Value From Pointer Array in C++
这是一个代码,它仅打印单个值,如果我想打印整个数组,则无法正常工作。
#include <iostream>
using namespace std;
int *firstDay(int fd)
{
int d[35] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int setday = 1;
int *pnd;
pnd = d;
int limit = 35 - fd;
for(fd;fd<limit;fd++)
{
d[fd] = setday;
setday++;
}
return pnd;
}
void display(int *d)
{
cout<<d[1]<<endl; // value 0
cout<<d[2]<<endl; // value 1
cout<<d[3]; // value 2
}
int main()
{
display(firstDay(2));
return 0;
}
如果我仅编写一个cout
,则可以正常工作并打印正确的值,如果我使用的是一个cout
,则无法打印正确的值。
firstDay
正在将指针返回到函数内声明的数组中;该指针返回后立即无效,而您的尝试将导致不确定的行为。
相关文章:
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 在一定长度后从数组中打印时缺少整数
- 数组元素打印的递归方法
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 打印矢量数组中的所有元素
- 打印问题.我在数组中打印值时遇到一些问题
- 数组类 阵列的打印输出
- 动态分配的聊天数组打印缺失的数据和空
- 如何打印 2D 字符数组C++
- 如何修改代码以打印出数组 v2
- 在C++中初始化和打印 2D 数组
- 将浮点数转换为无符号字符数组并打印出来
- C++ 打印包含数据结构的数组
- 如何让字符数组在一行而不是多行中打印出来?
- 打印字符数组地址的正确方法
- 按字母顺序打印存储在字符数组中的信息
- 使用递归反转和打印出数组的内容
- 如何将文本文件读取到二维数组中并以 c++ 打印
- 如何在运行时在对象数组中动态追加新对象C++并打印它们
- 加载有空指针的字符数组的打印值