您的位置:首页 > 编程语言 > C语言/C++

C语言字符数组的两种形式与区别

2014-02-21 20:40 253 查看
先看一下的一段代码:

#include<stdio.h>
int main(void)
{
char c1[]={'c',' ','p','r','o','g','r','a','m'};
char c2[]={"C program"};
char c3[]="c program";
printf("c1=%d,c2=%d,c3=%d,char=%d\n",sizeof(c1),sizeof(c2),sizeof(c3),sizeof(char));
printf("%s\n",c1);
printf("%s\n",c2);
printf("%s\n",c3);
return 0;

}




数组c1是字符数组,大小是9字节,不包括字符串结束标志'\0',故printf("%s\n",c1);执行结果有点莫名其妙,实际是找不到字符串结束标志所致!

c2是用常量字符串来初始化字符数组,c3是c2的简写形式,他们都包含字符串结束标志'\0'.


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言