char a[3] 是声明 a 是 char 型数组,首洞有3个元素。
char 型数组 可以用来存放一个字符串,也可以用来存放1个1个的字符。
char a[3]={'a','b','c'}; 存放3个字符, 可以。
char a[3]="abc"; 存放字符串,梁瞎字符串有4个橡芹空字节,含结束符\0. 这样初始化,结束符没地方放,丢弃了。
char a[3]="ab"; 存放字符串,字符串有3个字节,含结束符\0. (提倡用法)。
char a[4]="abc"; char a[]="abc"; (提倡用法)。
-----------------------
#include
int main(){
char a[3]= {'a','b','c'};
printf("%c %c %c\n",a[0],a[1],a[2]); //按字符 方式输出
printf("%s\n",a); // 按字符串方式输出
return 0;}
==============
#include
printf("%c %c %c\n",a[0],a[1],a[2]); //按字符 方式输出
printf("%s\n",a); // 按字符串方式输出
return 0;}
MS VC++ 6.0 输出都是:
a b cabc
确实是只可以存放2个字符,最后一个是零。你说的没有错橡裂呀=。=
字符数宽如橡组最后一项一定要慎旁是'\0'
你这么写会报错。error c2078: error C2078: too many initializers就是初始值设定太多。
3,表示的是三个字符。
不 你理解 有点 问题 当 存储的是 字符串闷祥蔽 的时候
才会自动 在后面加上 \0
而字符串的蚂州标志是 " "
除此之外 都当做 存储 单个 字符 处理
就和 整宴扰型 数组一个道理了。。。。
3 是 三个 字符
c语言中一个字符就是一个字节 你这样写可以 有什么疑问??