day04
1、int a[n]是错误的。C语言中不允许对数组的大小作动态定义。
2、字符数组的初始化。
- char a[]=“I am Student”;
- char a[10]; 利用for语句对每个进行初始化。
3、字符数组的输入和输出 - 输入
- char str1[5],str2[5],str3[5];scanf(“%s%s%s”,str1,str2,str3);
- 注意点:(1)在输入数据的时候,需要以空格隔开(因为系统把空格符作为输入的字符串之间的分隔符)。例如本题输入:How are you (2)注意不用加取地址符号。(因为scanf函数中的输入项如果是字符数字名,不要再加地址符&.因为在C语言中数组名代表该数组的起始地址。)
- 输出
- char c[]={“China”};printf(“%s\n”,c);
4、字符函数的介绍(引用头文件#include<string.h>)
- puts函数主要向输出缓冲区写入一个字符串,并再字符串输出结束以后,再额外输出一个换行符 ‘\n’。 例如:char str[] = {“China”}; puts[str];在终端打印China.
- gets用于从输入流的缓冲区中读取字符到指定的数组。读取过程中会忽略所有的前导空白符,读入的第一个字符为非空白符,直到遇到换行符才停止读入,结束的换行符(‘\n’)被gets函数读从缓冲区读取走了,存于数组中,然后被替换成’\0’。
- 注意:,puts和gets只能输出或输入一个字符串,不能写成puts(str1,str2);
- strcat(str1,str2);作用是字符串拼接,结果放在第一个字符数组中。
- 例如:char str1[30]=“12”;char str2[5]={“123”};printf(“%s”,strcat(str1,str2));
- strcpy和strncpy函数:字符串赋复制函数:将字符串2复制到字符数组1中。
- 例如:char str1[10],str[]=“China”;strcpy(str1,str2);或直接将常量复制strcpy(str1,“China”)
- 注意:不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。str1=“China”;str1=str2;这两个语句都是不合法的。
- strncpy(str1,str2,2)将str2最前面的两个字符复制到str1中。
- strcmp:字符串比较函数。比较原则:将两个字符串自左向右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。
- 例如:strcmp(str1.str2);strcmp(“China”.“Korea”);
- 注意:不能用if(str1>str2)
- strlen(字符数组):测试字符串的实际长度,不包括\0
- strlwr(字符串):将字符串中大写字母转成小写字母。
- strupr(字符串):将字符床中小写字母转成大写字母。