字符串常量:“AAAA”
字符数组的几种写法:
初识化字符的每个元素
char str1[10] = {'1','2','3','\0'};
可以不写元素个数,编译器会自己计算
char str2[] = {'1','2','3','\0'};
使用字符串常量初识化字符数组
char str3[] = {"AAAA"};
使用字符串常量初识化字符数组,可以去掉大括号。
char str3[] = "AAAA";
这里是引用
strlen函数(string length)的作用是用于返回字符串结束标志‘\0’之前出现的字符个数,
因此,strlen函数处理的字符串对象必须是以结束标志‘\0’结尾的字符串。其返回值类型是size_t类型,也就是无符号类型。
strlen函数就表示字符串中字符的个数,但不包含’\0’
sizeof 会包括
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
char str1[] = "AAAAA";
printf("sizeof str = %d\n", sizeof(str1));
printf("strlen str = %d", strlen(str1));
return 0;
}
这里是引用
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
char str1[] = "HELO WORLD";
char str2[] = "HEHE";
char str3[100];
strcpy(str1, str2);
strcpy(str3, " AAAAA");
printf("str1:%s\n", str1);
printf("str2:%s\n", str2);
printf("str3:%s\n", str3);
return 0;
}
其与strcpy的区别就是拷贝时不会拷贝\0,要自己设置
char str[n] = '\0';
正确代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
char str1[] = "TO be or not to be";
char str2[40];
strncpy(str2, str1, 5);
str2[5] = '\0';
printf("str2: % s\n", str2);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
char str1[] = "TO be or not to be";
char str2[40];
strncpy(str2, str1, 5);
printf("str2: % s\n", str2);
return 0;
}
这里是引用
1.trcmp函数(string compare)的作用是:按照顺序依次比较两字符串对应位置字符的ASCII码值(注意不是比较两字符串的长度哦),直到结束标识符‘\0’或对应位置的字符不同。
2.若比较到结束标识符都没有不同则字符串相等,若两字符串对应位置字符有不同,谁的ASCII码值小,那个ASCII码值小的字符比较小。
————————————————————————————
以下为举例:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
char str1[] = "AAAAA";
char str2[] = "AAAAA";
if (!strcmp(str1, str2))
{
printf("两个字符串完全一致!");
}
else
{
printf("两个字符串不完全一致!");
}
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
char str1[] = "AAAAA";
char str2[] = "aaaaa";
if (!strcmp(str1, str2))
{
printf("两个字符串完全一致!");
}
else
{
printf("两个字符串不完全一致!");
}
return 0;
}