c++ 自定义一维数组 赋值问题,求解决方法

#include<iostream>
using namespace std;

int len;
char *p;

void main(){
fflush(stdin);
cout<<"请输入内存所能容纳页面数:";
cin>>len;
//len=5;
p=new char[len];//内存所存页面,保存页面号
for(int k=0;k<len;k++){
p[k]='0';
}
cout<<p<<endl;
}
在程序运行后输入5,显示结果为00000 葺葺葺葺葺葺
而取消键盘输入,len=5后,结果显示正常 为00000
这是什么原因,怎么解决

p=new char[len];===>p=new char[len+1];
加上 memset( p, 0, len+1 );追问

为什么要用len+1??

追答

显示字符串要有结尾符'\0'

追问

顺便帮我看一下这个,加分
cout>num;
//num=11;
q=new char[num];//存储页面访问顺序

cout>q[i];
cout<<q<<endl;
也是后面出现奇怪汉字的问题

追答

和之前的问题一样。同样处理

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-11
p=new char[len];追问

这个语句怎么了么

c++ 一维数组如何赋值
int kk[9] = {0, 1, 3};只是把kk数组的前3个元素赋值,其它为0。

C++ 中一维数组从.txt文件赋值,文件第一行数组大小,第二行为数组赋值...
注意我说的路径那,.txt文件不在工程目录下,要用绝对路径,在工程目录下可以只写文件名 include<fstream> include<iostream> using namespace std;int main(){ int N;\/\/保存a.txt中的数字个数 int *pa=NULL;\/\/如果存放的不是整形,可在这换成你想要的数据类型 fstream file_in("c:\\\\a.txt...

C++中定义一个类,类的私有成员为一个一维数组,数组长度为10,那么给元...
比如在类里面定义一个函数,setNumber(int *number){ array[0] = number[0];………}\/\/ 如果是char*的话, 可以考虑用strcpy(注意在末尾添加一个null 即 ‘\\0’)恩 就这样子吧

c语言或c++如何自由创建数组
其实C++是不容许用变量来定义数组的,例如:int m;cin>>m; int a[m];这样是不行的。但是我们可以换一种思路。你看看这样,我们可以先申请的变量a,再用new运算符来建立临时数组。这样问题就解决了。用这个方法来解决上面你提到的两个问题(假设你向a中输入5),看代码:第一个问题, int a; cin...

c++ 如何把一个数组的值赋到另一个数组
有两种方法可以实现。为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。int a[4] = {1,2,3,4}, b[4];1、 通过数组遍历,逐个赋值。定义循环变量int i;for(i = 0; i < 4; i ++)b[i] = a[i];该程序功能为遍历数组a,逐个赋值到数组b对应元素中。2、 借助内存复制...

求教C语言或C++!
一维数组的初始化 在定义数组时对数组元素赋值 int a[3]={20,30,40};

...2怎么定义一个未知长度的一维数组(长度由输入确定)?
array亦即数组名,int是类型名,表示数组是整型数组*\/ cin>>a; \/\/输入你要定义的数组长度。array=new int[a]; \/\/为你的数组在内存中开辟一小段空间,并将其首地址赋值给array。也就是定义好了一个以“array”为数组名,长度为a的整型数组。

C语言指针实现自定义函数求一维数组中的最大值和最小值
import java.util.Scanner;public class MaxMin{ public static void main(String[]args){ Scanner scan=new Scanner(System.in);System.out.println("输入数组的长度:");int count=scan.nextInt();System.out.println("输出数组的"+count+"个数:");int[]arr=new int[count];for(int i=0;i...

C++二维数组给一维数组赋值
1 按元素,逐个赋值到对应目标元素上。适用于所有情况,可以自定义规则,遍历二维数组,并赋值到一维数组的对应位置上。由二维数组的行列值计算出一维数组的偏移量,这部分算法可以随意设计,有很高的灵活度。比如,将二维数组第一列复制出来称为一个单独的一维数组,可以写作:int a[100][100], b[100...

C++考试题求解答
7.额 我看你的理解好像二维数组有点问题吧。二维数组d[3][2]其中我们赋值的时候默认两两一起赋值 也就是说他就好像是3个大小为2的一维数组,此题中的赋值方式就好像是a[10]={0};这种赋值。8.你的理解是正确的,如果定义和初始化数组在一起的时候是可以这样写的,此时相当于你=后面的数据告诉...

相似回答