c语言字符串及使用方法
一、字符数组和字符串
用来存放字符的数组称为字符数组,例如:
1. char a[10]; //一维字符数组 2. char b[5][10]; //二维字符数组 3. char c[20] = {
'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a','m' }; // 给部分数组元素赋值 4. char d[] = {
'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm' }; //对全体元素赋值时可以省去长度
字符数组实际上是一系列字符的集合,也就是字符串(String)。在 C 语言中,没有专门的字符串变量,没有 string 类型,通常就用一个字符数组来存放一个字符串。
在 C 语言中,字符串总是以’\0’作为结尾,所以’\0’也被称为字符串结束标志,或者字符串结束符
由” “包围的字符串会自动在末尾添加’\0’。例如,”abc”看起来只包含了 3 个字符但C 语言会 在最后添加一个’\0’,但我们感受不到。
而由‘ ’赋值的字符串则不会在末尾自动加 \0,若要以%s输出,则会输出错误,应该在末尾手动添加“\0”.
二、字符数组的输入
char str[50]; scanf(“%s”,str);
gets():直接输入字符串,并且只能输入字符串。
char str[50]; gets(str);
三、字符数组的输出
4. char str[30]={
"c,program"}; 5. puts(str);
printf():通过格式控制符%s 输出字符串,不能自动换行。
1 char str[30]={
"c,program"}; 2 printf("%s\n",str);
四、C 语言字符串处理函数
string.h 是一个专门用来处理字符串的头文件,它包含了很多字符串处理函数以下例举了几个常用的函数,
在使用的时候不要忘记添加头文件
#include<string.h>
1、字符串连接函数 strcat()
strcat 是 string catenate 的缩写,意思是把两个字符串拼接在一起,语法格式为:
#include<stdio.h> #include<string.h> int main() {
char str1={
"hello "}; char str2; gets(str2); strcat(str1,str2); puts(str1); return 0; }
2、字符串复制函数 strcpy()
strcpy 是 string copy 的缩写,意思是字符串复制,也即将字符串从一个地方复制到另外一个地方,
#include<stdio.h> #include<string.h> int main() {
char str1={
"hello "}; char str2={
“world”}; strcpy(str1,str2); puts(str1); return 0; }
将 str2 复制到 str1 后,str1 中原来的内容就被覆盖了。
另外,strcpy() 要求 str1 要有足够的长度,否则不能全部装入所拷贝的字符
3、字符串比较函数 strcmp()
#include<stdio.h> #include<string.h> int main() {
char str1={
"hello "}; char str2={
“world”}; printf("%d",strcmp(str1, str2)); return 0; }
4、字符串测长函数 strlen()
测量字符串的长度的函数
#include<stdio.h> #include<string.h> int main() {
char str1={
"hello "}; printf("%d",strlen(str1, str2)); return 0; }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231026.html原文链接:https://javaforall.net
