c语言数组问题

c语言开辟数组,如果里面存的是整数,那么没有复制之前,数组中默认的值为零,还是乱码。如果存的是字符值有事什么情况呢?比如一维数组中的数据是2234456667,789,找... c语言开辟数组,如果里面存的是整数,那么没有复制之前,数组中默认的值为零,还是乱码。如果存的是字符值有事什么情况呢?

比如一维数组中的数据是2234456667,789,找出其中不同的数23456789,覆盖给原数组,那么原数组下标为8到之后后的值还存不存在?
展开
 我来答
Yuqi_Tan

2019-03-29 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3417万
展开全部
问一:c语言开辟数组,如果里面存的是整数,那么没有复制之前,数组中默认的值为零,还是乱码。
答:C语言声明数组变量时,只分配相应的空间和地址,而不对里面存放的数据初始化。不管是int、float、还是char型等,即里面存的无论是整数、小数还是字符,再没有复赋值之前,数组中默认的值都是乱码,而不是0(或其他已知的数字、字母或其他字符)。
问二:如果存的是字符值有事什么情况呢?
答:也是乱码。
问三:比如一维数组中的数据是2234456667,789,找出其中不同的数23456789,覆盖给原数组,那么原数组下标为8到之后后的值还存不存在?
答:没太看明白你想说什么。这就要看看你把新数据(元素)存放在哪儿了,已经被新覆盖的元素比如前8个元素,其旧值已经不存在了,只要没有覆盖的元素比如8个以后的元素,其旧值仍然存在。
是不是这样子?如还有问题请留言。
追问
原题大概就是,一维数组中的数据是2234456667789,删去其中相同的数,结果是23456789,写过程的时候把得来的值覆盖给原数组,那么原数组下标为8到之后后的值还存不存在?结果是2345678967789还是234567899,需不需要给0?
追答
是这样啊!
题目要求覆盖原数组,那么即使保留,也是一个残缺不全的原数组,而且会影响新数组,新数组多了一些无用的尾巴,所以,建议后面的值不用要了,像你说的,最后给一个0,让结果是23456789就好了!
丁槐邰翔
2019-09-29 · TA获得超过3889个赞
知道大有可为答主
回答量:3132
采纳率:26%
帮助的人:208万
展开全部
#include
<stdio.h>
void
select(int
ai[],
int
number)
/*折半查找,在数组ai中查找是否有number这个数*/
{
int
lowe
=
0,
high
=
14,
mid
=
(high
+
lowe)
/
2;
while
(lowe
<=
high)
{
if
(ai[mid]
==
number)
{
printf("%d\n",
mid);
return;
}
else
if
(ai[mid]
<
number)
{
lowe
=
mid+1;
}
else
{
high
=
mid-1;
}
mid
=
(lowe
+
high)
/
2;
}
printf("无此数\n");
}
main()
{
int
ai[15]
=
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
/*数组中的数字可以随意设置*/
select(ai,
29);
/*在ai数组中查找是否有29这个数*/
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琦涉皮暖暖
2019-04-05 · TA获得超过3729个赞
知道大有可为答主
回答量:3188
采纳率:32%
帮助的人:166万
展开全部
没有学过编程的话,有点困难,但只要认真学就一定能学会。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿四哥vlog
2021-03-21 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:607
采纳率:0%
帮助的人:27.7万
展开全部

C语言的数组概念的学习,通过for循环输出打印数组

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式