c语言字符数组及使用方法 |
您所在的位置:网站首页 › 数组的定义chain字节 › c语言字符数组及使用方法 |
c语言字符串及使用方法
一、字符数组和字符串二、字符数组的输入三、字符数组的输出四、C 语言字符串处理函数1、字符串连接函数 strcat()2、字符串复制函数 strcpy()3、字符串比较函数 strcmp()4、字符串测长函数 strlen()
一、字符数组和字符串
用来存放字符的数组称为字符数组,例如: 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”. 二、字符数组的输入在 C 语言中,有两个函数可以输入字符串,它们分别是: scanf():通过格式控制符%s 输入字符串。除了字符串,scanf() 还能输入其他类型的数据。 char str[50]; scanf(“%s”,str); gets():直接输入字符串,并且只能输入字符串。 char str[50]; gets(str);但是,scanf() 和 gets() 是有区别的: scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。 gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空 格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。所以可以用 gets() 用来读取一整行字符串。 三、字符数组的输出在 C 语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是: puts():输出字符串并自动换行,该函数只能输出字符串。 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 1、字符串连接函数 strcat()strcat 是 string catenate 的缩写,意思是把两个字符串拼接在一起,语法格式为: #include #include int main() { char str1={"hello "}; char str2; gets(str2); strcat(str1,str2); puts(str1); return 0; } 2、字符串复制函数 strcpy()strcpy 是 string copy 的缩写,意思是字符串复制,也即将字符串从一个地方复制到另外一个地方, #include #include int main() { char str1={"hello "}; char str2={“world”}; strcpy(str1,str2); puts(str1); return 0; }将 str2 复制到 str1 后,str1 中原来的内容就被覆盖了。 另外,strcpy() 要求 str1 要有足够的长度,否则不能全部装入所拷贝的字符 3、字符串比较函数 strcmp()strcmp 是 string compare 的缩写,意思是字符串比较 两个字符从第一个字符开始比较,若相同进行下一个字符的比较,直到得到结果 返回值:若str1 和 str2 相同,则返回 0;若str1 大于str2,则返回大于 0 的 值;若 str1 小于 str2,则返回小于 0 的值。 #include #include int main() { char str1={"hello "}; char str2={“world”}; printf("%d",strcmp(str1, str2)); return 0; } 4、字符串测长函数 strlen()测量字符串的长度的函数 #include #include int main() { char str1={"hello "}; printf("%d",strlen(str1, str2)); return 0; } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |