码迷,mamicode.com
首页 > 编程语言 > 详细

c语言-字符串

时间:2019-12-31 14:37:44      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:har   %s   时空   int   错误   instr   字符   函数返回   can   

一、字符串定义

1.字符串常量使用`双引号`, 字符常量使用`单引号`,两者区别: 双引号(表示这是字符串常量), 通常在字符串会添加一个"\0" (ASCII 码为 0),用以表示字符串结束,占用内存空间字节数为字符串长度加一,而字符常量通常占用一个字节的内存空间。
2.可以用数组存放字符串,如字符串"hello",可以表示为:
    char c[5]={'h','e','l', 'l', 'o'};
    char c[5]={"hello"};
    char c[6]="hello";
    char c[] = "hello"; // 此时c的长度自动为5

二、字符串输入输出

1.输出
    printf("%s\n", c);
2.输入
    char inString[10];
    scanf("%s", inString); // 此时inString定义长度为10, 因此输入的字符串长度应小于10,为“\0”结束位预留位置。 输入时空格表示结束, 因此不能用输入空格, 若有空格 可以分多个字符串(即字符数组)来存储。
    注: scanf需要使用变量的地址, 数组名即数组首地址,因此不需要再用&(取地址符)

三、字符串操作

c提供的常用字符串处理函数:
首先应当引入头文件"string.h"

1.字符串输出函数 puts (字符数组名),把字符数组中的字符串输出到显示器, puts(c)。 注: 字符串可以使用转移字符如"hello \n world", 可被printf取代, printf可以有不同的格式。

2.字符串输入函数gets (字符数组名),从键盘中输入一个字符串。类似scanf但不同的是,gets不以空格作为结束标志, 而仅以回车做为结束标记。

3.字符串拼接函数strcat(字符数组名1,字符数组名2),  把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。本函数返回值是字符数组 1 的首地址。

4.字符串拷贝函数strcpy(字符数组名1,字符数组名2),把字符数组 2 中的字符串拷贝到字符数组 1 中。串结束标志“\0”也一同拷贝。字符数名 2,也 可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。要求数组1有足够的长度, 否则不能完成拷贝。执行时会出现异常错误

5.字符串比较函数strcmp(字符数组名1,字符数组名2),按照 ASCII 码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。

6. 测字符串长度函数strlen(字符数组名) ,测字符串的实际长度(不含字符串结束标志‘\0’) 并作为函数返回值。

c语言-字符串

标签:har   %s   时空   int   错误   instr   字符   函数返回   can   

原文地址:https://www.cnblogs.com/AliceX-J/p/12123824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!