我的程序不按指针算术打印数组
My Program not printing array by pointer arithmatic
#include<iostream>
using namespace std;
int main()
{
int a,count=0;
cin>>a;
int* arr;
while(a)
{
int x= a%10;
a=a/10;
*(arr+count)=x;
count++;
}
for(int i=0 ;i< count-1; i++)
{
cout<<*(arr+i);
}
}
/* o/p :segementation error
// i/o :5*/
** 带指针的数组
为什么分段错误
在 int 数组中对 int 进行分区 **
分段错误
访问未初始化的值具有未定义的行为(有例外,但没有适用于您的情况)。
arr
未初始化:
int* arr;
此处使用 arr
的值:
*(arr+count)=x;
因此,程序的行为是未定义的。
#include<stdio.h>
int main()
{
int a,count=0;
int i;
scanf("%d",&a);
int* arr=&i;
while(a)
{
int x= a%10;
a=a/10;
*(arr+count)=x;
count++;
}
for(int i=0 ;i< count; i++)
{
printf("%d",*(arr+i));
}
return 0;
}
**是的,我们可以像这样创建动态数组可能不是一个好的做法,但确实有助于节省内存**
相关文章:
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 在一定长度后从数组中打印时缺少整数
- 数组元素打印的递归方法
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 打印矢量数组中的所有元素
- 打印问题.我在数组中打印值时遇到一些问题
- 数组类 阵列的打印输出
- 动态分配的聊天数组打印缺失的数据和空
- 如何打印 2D 字符数组C++
- 如何修改代码以打印出数组 v2
- 在C++中初始化和打印 2D 数组
- 将浮点数转换为无符号字符数组并打印出来
- C++ 打印包含数据结构的数组
- 如何让字符数组在一行而不是多行中打印出来?
- 打印字符数组地址的正确方法
- 按字母顺序打印存储在字符数组中的信息
- 使用递归反转和打印出数组的内容
- 如何将文本文件读取到二维数组中并以 c++ 打印
- 如何在运行时在对象数组中动态追加新对象C++并打印它们
- 加载有空指针的字符数组的打印值