C语言字符和字符串操作
来源:互联网 发布:淘宝如何通过倒卖赚钱 编辑:程序博客网 时间:2024/05/17 02:45
**C语言中字符和字符串的使用是一个重点也是一个难点,自己学C也有一段时间了,在这里总结下。自己也复习和巩固下知识点**1, 概念:字符是以单引号括起来的单字符,一定要注意单引号和单字符。例如:'a'就是一个合法的单字符,而'ab'的写法就是错误的;单字符用%c进行输出。字符串:用双引号括起来的多个字符,在C语言中没有字符串变量,可以用字符数组和字符串指针来保存字符串。
#include <stdio.h>int main(int argc, char *argv[]){ char str[100]="字符数组定义字符串"; char *p="字符串指针定义字符串"; return 0;}
注意事项:1,使用字符数组来保存的字符串是保存在栈内存里的,栈内存是可读写,所以可直接改变字符数组。
2,使用字符指针保存的字符串是在常量区的,常量区是只读的不能再改变字符串的值,而且保存的是字符常量的地址。
2,常用的字符串操作函数
1>scanf(“%s”,str);可以用来接收字符串,有点是简单方便,缺点是不能接收空格和tab。
2>gets(str); 也可以用来接收字符串,但是Xcode编译器会报警告,原因是如果定义的数组长度是50,如果输入的正好是50个字符,就没有空间存放字符串的结束符\0,还有接收的字符长度超过50时,就会越界暂用其他存储空间,发生不可预知的错误。
3>fgets();是一个安全的字符串接收函数,格式:fgets(保存位置,长度,接收位置)。
fgets(ch,sizeof(ch),stdin):表示从标准输入stdin接收长度为sizeof(ch)字符串到数组ch,当输入的字符串长度小于数组长度时,出去\0会接收一个换行符\n.
4>字符输出函数putchar()
putchar(65); // Aputchar('A'); // Aint a = 65;putchar(a); // putchar()一次只能输出一个字符
5>字符输入函数getchar()
char c;c = getchar();* getchar函数可以读入空格、TAB,直到遇到回车为止。scanf则不能读入空格和TAB。* getchar一次只能读入一个字符。scanf则可以同时接收多个字符。* getchar还能读入回车换行符,这时候你要敲2次回车键。第1次敲的回车换行符被getchar读入,第2次敲的回车键代表输入结束。
6>返回字符串长度的函数
char str[50]="abc";strlen(str);// 3 计算长度时到\0结束,不包括\0
7>字符串拷贝函数
char str[50] = "abcde";strcpy(str,"feghi");//会把feghi拷贝到字符数组str里,并保留字符串结束符\0.
8>字符串比较函数strcmp
两个字符串按照从左至右的顺序按照ASCII的值比较大小,直到字符不同或遇到\0,如果字符相同则返回0,如果字符串1大于字符串2则返回值为正,否则返回值为负。
0 0
- C语言字符和字符串操作
- c字符和字符串操作
- C语言中的字符和字符串
- 玩儿转C语言:字符和字符串
- C语言字符和字符串区别
- C语言中的字符和字符串
- C语言 字符数组和字符串
- C语言_字符和字符串
- c语言中的字符和字符串
- 玩儿转C语言:字符和字符串
- C语言定义字符串和字符数组
- C语言字符数组和字符串注意
- C语言字符和字符串的比较
- 29.C语言字符串和字符数组
- 玩儿转C语言:字符和字符串
- C语言中字符串和字符数组
- C语言字符数组和字符串
- 65 C语言字符数组和字符串
- JavaScript:Object.prototype.toString方法的原理
- Java连接sqlserver数据库
- 对于计算机网络课本中一个题目理解
- [Servlet]Servlet的继承链
- android 中如何分析内存泄漏
- C语言字符和字符串操作
- iOS开发学习第十二课——函数指针定义 、函数回调 、动态排序
- 触及摄影,爱我所好
- 5.3-1
- C++遍历文件夹(包含子文件夹中的文件)
- 泛型委托
- Android乐园(一)
- 认识设计模式
- linux命令详解——tee