c++中数组输出的问题 15

#include"iostream.h"#include"stdio.h"intmain(){inti=0,j;inta[10];cout<<"pleaseinputar... #include"iostream.h"
#include"stdio.h"
int main()
{int i=0,j;
int a[10];
cout<<"please input array a[]:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<"array a is:"<<endl;
for(j=0;j<10;j++)
cout<<a[j]<<' ';
system("pause");
}
1:上面的程序,数组A原定有10个,我现在只输入了5个,现在输出时会出现前面5个正常,后面应该不显示了,但出来一些很大的数字,如何只显示输入的。
2:一数组未满,现在想用B来返回现在数组里面有几个数。
谢谢。
展开
 我来答
ElectricalWizardry
2019-08-08 · TA获得超过3663个赞
知道大有可为答主
回答量:3125
采纳率:31%
帮助的人:179万
展开全部
字符数组末尾缺一个'\0'
'\0'标志着字符串结束,它的值是0,它不是空格。当输出字符数组或字符指针时,依次输出各个字符,遇到'\0'时结束。
abcde后面的内存空间存的数是乱七八糟的,也有0,所以输出一些”乱码“后才停止输出。
这样就没问题了:
char a[6]={'a','b','c','d','e','\0'};或者不要去数字符个数
char a[]={'a','b','c','d','e','\0'};或者直接用字符串来初始化更加容易
char a[]="abcde";
候耀舒惜蕊
2019-03-30 · TA获得超过3961个赞
知道大有可为答主
回答量:3090
采纳率:28%
帮助的人:246万
展开全部
1.你的数组是未初始化的,只输入5个数,后5个是随机的数,你可以把数据设定初始值,如0或
-1什么的,表示没有输入。
for(i=0;i<10;i++)
a[i]:=0;
在输出时,遇到初始值,既表示该数未输入,所设定的初始值一定要是你不会输入的。
2、如果你设定了初始值,计算一下有几个数不是初始值,就可以得到数组里有几个数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不知详解
2009-07-28 · 知道合伙人软件行家
不知详解
知道合伙人软件行家
采纳数:609 获赞数:2252
自学计算机。

向TA提问 私信TA
展开全部
1 C语言不检查数组溢出
如果你做了溢出操作 那么就会意外修改自己的数据 或者让程序崩溃
后面的很大的数字是你在定义int变量时候获得的内存里的原有数据
是想一块内存被其他程序使用以后释放 如果系统把内存里的内容恢复成0
那么就会消耗资源 但是其他的程序在使用这块内存的时候却有自己的初始值
比如int a=3;这时候系统资源就浪费了
所以在释放内存的时候系统没有把内存清零,同时在获得内存的时候如果没有初始化,那么变量里的值将是无法预知的
输出来的很大的值是由于你没有赋值造成的,是该内存块里原有的值
只显示输出的你就需要用一个变量n来描述到底输入了多少值
输出时使用
for(j=0;j<n;j++)
cout<<a[j]<<' ';
2 无法知道数组里面有多少数已经被赋值,除非你在赋值的时候记录下来
只能知道数组有多大容量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dwthead
2009-07-28 · TA获得超过2309个赞
知道小有建树答主
回答量:1478
采纳率:0%
帮助的人:1912万
展开全部
两种方法
用字符数组或者字符串接受输入 设循环控制变量计数
判断 当输入非数字字符的时候 跳出循环 看控制变量就知道输入多少个数了
缺点 当输入数字超过一位 转换成INT的时候比较啰嗦

另外 while(cin>>a[i++]) 不想输入的时候 ctrl+d
缺点是 之后都不能输入了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jygao1098
2009-07-28 · TA获得超过780个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:245万
展开全部
1.你的数组是未初始化的,只输入5个数,后5个是随机的数,你可以把数据设定初始值,如0或 -1什么的,表示没有输入。
for(i=0;i<10;i++)
a[i]:=0;
在输出时,遇到初始值,既表示该数未输入,所设定的初始值一定要是你不会输入的。

2、如果你设定了初始值,计算一下有几个数不是初始值,就可以得到数组里有几个数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式