字符数组的定义 char c[10]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’}; char c[]={“I am happy”}; //以字符串的方式为数组初始化; char c[]=”c program” //可以省略{} 用字符串方式赋值比用字符逐个赋值, 要多占 1 个字节, 用于存放字符串结束标志’\0’; 比较 1)逐一赋值: I a m h ap p y 2)字符串赋值 I a m h ap p y \0 字符数组的赋值与输出 1 字符数组的赋值与输出 2 #include main() { char c[]="basic\ndbase"; printf("%s\n",c); getchar(); } 使用%S 格式字符接受字符串 #include main() { char c[15]; // 如不作初始化赋值, 必须说明数组长度; printf("输入字符串:\n"); scanf("%s",c); /*用 scanf 输入字符串时, 不能包含空格, 否则空格将被认为是字符串结束; 数组名代表了该数组的首地址。 */ printf("%s\n",c); getchar(); getchar(); } 字符串常用函数 “string.h” 函数形式 功能 应用实例(关键程序段) puts(字符数组名) 从字符数组的首地址开始, 以此输出 存储单元中的字符, 遇到第一个’\0’即结束输出, 并自动输出一个换行符; char c[]=”hello”; puts(c); gets(字符数组名) 输入一个字符串(包括空格符), 直到读入一个换行符为止。 换行符不作为字符串的内容, 系统自动用’\0’代替。 char s[15]; printf("输入字符串:\n"); gets(s); puts(s); strcat(字符数组名1, 字符数组名 2) 将字符数组 2 的字符串连接到字符数组 1 之后, 且删去字符串 1 末尾的串标志’\0’。 本函数返回字符数组1 的首地址。 char s1[50]=”hello,”; //足够长 char s2[15]; printf("输入字符串:\n"); gets(s2); strcat(s1,s2); puts(s1); puts(s2); strcpy(字符数组名1, 字符数组名 2) 将字符数组 2 复制到字符数组 1 中char s1[15], s2[]=”hello”; strcpy(s1,s2); puts(s1); strlen(字符数组名) 测试字符串的实际长度(不含字符串标志’\0’) 并作为函数返回值。 char s[]=”C language”; k=strlen(s); strcmp(字符数组名