C语言简单的数组问题。

我听老师说,C语言数组最后是以'\0‘结束的,也就是说一个容量为5的数组它只可以放4个数,最后一个是’\0’,但我今天试了一下,在一个容量为5的数组里放了5个数,然后通过... 我听老师说,C语言数组最后是以'\0‘结束的,也就是说 一个容量为 5的 数组它只可以放4个数,最后一个是 ’\0’ ,但我今天试了一下,在一个容量为 5的数组里放了 5个数,然后通过 WATCH来看,结果 a[4]里 竟然显示为 我输入的那个数字,然后我又试了一下
#include "stdio.h"
main()
{
int a[5]={1,2,3,4};

int i;
for(i=0;i<=4;i++)
{
if('\0'==a[i])
printf("%d\n",i);

}
}
结果 输出是 4
所以我就疑问了, 请高手解答。
展开
 我来答
limitvic
2012-01-24 · 超过10用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:69.5万
展开全部
以"\0"结束针对的是字符型数组;运行下下面的那段代码你就会明白!
#include<iostream>
using namespace std;
int main()
{
char a[8]="student";
char b[8]={'s','t','u','d','e','n','t'};
int c[8]={1,2,3,4,5,6,7,8};
cout<<a[8]<<endl;//输出的是空白,即"\0"
cout<<b[8]<<endl;//出错了
cout<<c[8]<<endl;//出错了
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lift6220819
2012-01-25
知道答主
回答量:4
采纳率:0%
帮助的人:6580
展开全部
a[4]就是数组的最后一个元素了 没错啊 就是空 定义 int a[5] 它的元素是从 a[0]开始的而不是a[1].
追问
同学,你还得好好学习啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-24
展开全部
char a[5];
gets(a);//你输入多少个数,输出照样是多少个,如果大于4个,已经越界了
puts(a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lis156
2012-01-25
知道答主
回答量:11
采纳率:0%
帮助的人:7.2万
展开全部
应该是if(!=)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式