首页 > 代码库 > 字符串
字符串
字符数组的两种定义方式:
char c[10] = {‘i’ , ‘P’ , ‘h’ , ‘o’ , ‘n’ , ‘e’};
char c[10] = “iPhone” ;
字符串函数
strlen()计算字符串的长度
strcpy()字符串拷贝
strcat()字符串拼接
strcmp()字符串比较
sizeof与strlen比较(size_t即unsigned long)
sizeof获取操作数占用的内存空间字节数,返回类型size_t;
strlen获取字符数组实际使用的字节数,不包含数组结尾符‘\0‘,返回类型size_t;
字符串的初始化
l char a[] = “123”; 和 char a [] = {‘1’,’2’,’3’};的区别,可以比较大小
l “123”其实是由’1’、’2’、’3’、’\0’组成
l “123”的存储分布
字符串的输出”%s”,’\0’是不会输出的
\0的ASCII码值是0,都是字符串(例:"jack" == ‘j‘ + ‘a‘ + ‘c‘ + ‘k‘ + ‘\0‘)
char name[8] = "it";
char name2[8] = {‘i‘, ‘t‘, ‘\0‘};
char name3[8] = {‘i‘, ‘t‘, 0};
char name4[8] = {‘i‘, ’t‘};
\0作用
putchar输出一个字符
char name[8] = "it";
char name2[8] = {‘i‘, ‘t‘, ‘\0‘};
char name3[8] = {‘i‘, ‘t‘, 0};
char name4[8] = {‘i‘, ’t‘};
不算是一个字符串(只能说是一个字符数组)
char name5[] = {‘i‘, ‘t’};
char name5[] = {‘i‘, ‘t’};
\0作用
1、字符串结束的标记
2、printf("%s", name2);
会从name2这个地址开始输出字符,直到遇到\0为止char name[] = "itc\0ast”;
输出只是itc
char name2[] = {‘o‘, ‘k’};
printf("%s\n", &name2[1]);
输出:kitc
strlen函数:计算字符串长度
1.计算的是字符数,并不是字数。一个汉字算作3个字符
2.计算的字符不包括\0
3.从某个地址开始数字符的个数,直到遇到\0为止
1.计算的是字符数,并不是字数。一个汉字算作3个字符
2.计算的字符不包括\0
3.从某个地址开始数字符的个数,直到遇到\0为止
输入字符串:scanf("%s", str);
输入字符串(错误):
// do
// {
// scanf("%c",&str[i]);
// }while (str[i++]!=‘\n‘);
// do
// {
// scanf("%c",&str[i]);
// }while (str[i++]!=‘\n‘);
因为相当于在输入时将回车也输入
字符串数组:
字符串数组:
初始化:
char names[2][10] = { {‘J‘,‘a‘,‘y‘,‘\0‘}, {‘J‘,‘i‘,‘m‘,‘\0‘} };
char names2[2][10] = { {"Jay"}, {"Jim"} };
char names3[2][10] = { "Jay", "Jim" };
putchar输出一个字符
getchar输入一个字符
字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。