d
第二天 字符串
字符串的遍历
「 字符串 」 是一种特殊的 字符数组,字符数组需要有一个长度字段来表示这个数组中的元素个数。而字符串不需要,字符串一定是以\0
结尾的,在 C语言中,字符串的表示如下:
1 2
| char c[6] = "Hello"; char d[5] = { 'H', 'e', 'l', 'l', 'o' };
|
其中 ( 1 ) (1)(1) 表示字符串,它虽然只有五个字符,但是需要有一个结尾字符\0
(它的 ASCII 码值为 0)进行占位,所以字符串长度为 5,但是实际需要 6 个字节的存储空间。
而 ( 2 ) (2)(2) 代表的是一个数组,它的每个元素是一个字符,理解成一个长度为 5 的数组即可。
字符串的长度
1 2
| char c[6] = "Hello"; printf("%d\n", strlen(c));
|
字符串的遍历
1 2 3 4 5 6 7 8 9 10 11 12 13
| int len = strlen(s); for(i = 0; i < len; ++i) { }
for(i = 0; s[i] != '\0'; ++i) { }
for(i = 0; s[i]; ++i) { }
|
大小写转换
1 2 3 4
| if(s[i]>='A'&&s[i]<='Z'){ s[i]=s[i]-'A'+'a'; }
|
字符串拷贝
1 2 3
| char src[10] = "Hello"; char tar[10]; strcpy(tar, src);
|
字符串比较
1 2 3 4
| char src[10] = "Hello"; char tar[10] = "hello"; int x = strcmp(tar, src); int y = strcmp(tar, "hello");
|
字符串分割
1 2 3 4 5
| char str[9] = "I love U";
char str[][5] = { "I", "love", "U" };
|