标题:字符数组和结束符/0之间的关系
只看楼主
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
结帖率:73.08%
已结贴  问题点数:100 回复次数:23 
字符数组和结束符/0之间的关系
最近在字符数组的运用上撞头(包括字符数组的声名,初始化和/0的添加)/0是字符数组的结束标志
第一种:
#include<stdio.h>
int main(void)
{
    int a;
    char s[6]={'h','e','l','l','o'};/*斜杆0“/0”在这里有什么用,需不需要添加?系统会自动添加的对吗?这里是给单个数组元素赋值对吗?*/
    for(a=0;a<=5;a++)
        printf("%d",a);
    for(a=0;a<=5;a++)
     printf("%c",s[a]);
    return 0;
}
第二种:
#include<stdio.h>
int main(void)
{
    int a;
    char s[6]={"hello"};/*这里的{"hello"}和上面的]{'h','e','l','l','o'}是同一种初始化方法吗?为什么可以简写成这样?/0(斜杆零)要不要加,还是系统会自动加?{'h','e','l','l','o'}为什么可以写成{"hello"}?这里是给数组s[6]赋值字符串对吗?*/
    for(a=0;a<=5;a++)
        printf("%d",a);
    for(a=0;a<=5;a++)
     printf("%c",s[a]);
    return 0;
}
第三种:
#include<stdio.h>
int main(void)
{
    int a;
    char s[6]="hello";/*和上面两个初始化都不同,为什么可以简写成这样?/0在这里有什么用?系统一遇到/0就会自动结束对吗?*/
    for(a=0;a<=5;a++)
        printf("%d",a);
    for(a=0;a<=5;a++)
     printf("%c",s[a]);
    return 0;
}
请大家说说字符数组和字符串的区别,以及他们的定义,概念,意义,性质,初始化和赋值。
我实在不会,谢谢大家了!
搜索更多相关主题的帖子: void include return 元素 
2013-02-11 19:14
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:5 
看看

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2013-02-11 19:45
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:5 
.....

仰望星空...........不忘初心!
2013-02-11 19:48
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
得分:0 
大过年的美女跑来曾分来了,欢迎
2013-02-11 19:48
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
得分:10 
当你初始化一个字符串数组时,编译器会将剩余未初始化的自动置0(\0)
2013-02-11 20:08
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:0 
...

仰望星空...........不忘初心!
2013-02-11 20:09
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
得分:0 
个人觉得没必要知道那么细,咱们又不做编译器。。。。。。。。。
2013-02-11 20:10
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:0 
快去回我得話

仰望星空...........不忘初心!
2013-02-11 20:11
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:10 
首先一个问题 是'\0' 还是 '/0' ???

putchar('\0');
putchar('/0');

编译一下看看哪个对
2013-02-11 21:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
又不是新手了,现在还来问这种问题?

授人以渔,不授人以鱼。
2013-02-11 22:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398526-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053398 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved