c语言里面没有字符串这种类型 通过字符数组来模拟字符串 c语言风格字符串是以 0 或 \0 结尾的字符串 我们通过下面程序看看: # include <stdio.h> # include <stdlib.h> # include <string.h> int main(void) { //字符数组初始化 //指定长度,如果定义长度剩余部分补充0 char buf1[100] = { 'a', 'b', 'c' }; //不指定长度 char buf2[] = { 'a', 'b', 'c' }; char buf3[] = { 'a', 'b', 'c', '\0' }; //通过字符串初始化字符数组,并追加\0 char buf4[] = "abcd"; printf("buf1 = %s\n", buf1); printf("buf2 = %s\n", buf2);//出现乱码,要末尾添加 '\0' 或 0 printf("buf3 = %s\n", buf3); printf("buf4 = %s\n", buf4);//此处不可以用%c输出,%c一个字符,%s 一个字符串,遇空格、制表符或换行符结束。 printf("sizeof(buf4):%d\n", sizeof(buf4));//注意sizeof是对整个数组类型进行大小测量