在字符数组中容易忽视的一些小的问题
来源:互联网 发布:jquery储存数据 编辑:程序博客网 时间:2024/05/21 13:22
vs里面的快捷键
编译程序:F7
运行程序:ctr+F5
打断点:F9
运行到断点位置:F5
单步执行:F10
单步进入函数:F11
结束调试:shift+F5
一. 在字符数组中容易忽视的一些小的问题:(这是我自己在学习这块时出现的问题)
在使用字符串处理函数时,应当在程序开始的地方加上
#include<string.h>
1.首先,字符型数据是以整数形式(ASCII代码)存放的,因此也可用整型数组存放字符数据
例如:int c[10];
c[0] = 'a';
对于字符型数组的初始化,最好在定义字符型数组时对它进行初始化,否则数组中个元素的内容是不可预料的;
如果初值的个数小于数组的长度,则只将这些字符赋给数组中前面的那些元素,其余的元素自动定为空字符('\0').
'\0'代表的是ASCII码为0的字符
例如: char arr[20] = {'a','b','c','r'};
printf ("%s\n",arr); 程序不会出现错误
但是,如果char arr2[] = {'a','b','c','r'};
printf ("%s\n",arr); 程序的结果会出现乱码,是因为printf函数在输出字符串时是输出到'\0'截止的,
而在arr2这个数组中只有4个字符,并没有'\0';
所以,在学习这块知识时应该注意这点细节问题
2.scanf函数输入字符串时遇到空格或者回车就会输入结束
gets(字符数组名)函数输入字符串时可以包含空格,是以回车结束的,这个函数的返回值是字符数组的起始地址,
这个了解就好,毕竟我们一般只用这个函数输入一个字符串,并不关心它的返回值
注意:puts和gets函数只能输出或者输入一个字符串
3.strcat(字符数组1,字符数组2)
作用是将两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,函数的返回值为字符数组1的地址
注意:字符数组1必须足够大,以便能够容纳连接后的新字符串
连接时删掉了字符数组1后面的'\0',只在新的字符串后面保留'\0';
4.strcpy和strncpy函数 (字符串复制函数)
strcpy(字符数组1,字符串2)
作用是把字符串2复制到字符数组1中去,所以字符数组1必须可以容纳被复制的字符串2,包括字符串2中的'\0';
注意:“字符数组1”必须写成数组名的形式,“字符串2”可以是字符数组名,也可以是一个字符串常量
例如:
strcpy(str1,“china”);
只能用字符串复制函数将一个字符串复制到另一个字符数组中,不能通过赋值的形式
strncpy(str1,str2,2)
作用是将字符串2中的前2的字符复制到字符数组1中,但是复制的字符个数n不应该大于字符数组1中原有的字符个数(不包括‘\0’).
5.strcmp函数(字符串比较函数)
strcmp(字符串1,字符串2);
字符串1和字符串2的形式可以是字符串常量,也可以是字符数组名
比较规则是:将两个字符串按从左到右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或者遇到'\0''为止。
比较的结果由函数值返回
字符串1 > 字符串2,结果返回大于0的整数
字符串1 < 字符串2,结果返回小于0的整数
字符串1 = 字符串2,结果返回0
6.strlwr函数(转换为小写的函数)
strlwr(字符串)
作用是将字符串中的大写字母换成小写字母
strupr(字符串)
作用是将字符串中的小写字母换成大写字母
1 0
- 在字符数组中容易忽视的一些小的问题
- SQL开发中容易忽视的一些小地方(二)
- SQL开发中容易忽视的一些小地方(一)
- SQL开发中容易忽视的一些小地方
- SQL开发中容易忽视的一些小地方(二)
- 编程中一些容易忽视的小错误
- 在Oracle中建表时容易忽视的一个小问题
- [转]网页制作中一些容易被忽视的问题
- 容易被忽视的一些PHP问题
- java 学习中容易忽视的问题!!
- java 学习中容易忽视的问题!!
- java 学习中容易忽视的问题!!
- java中一个容易忽视的问题
- 容易忽视的一些细节
- 自定义View中我们比较容易忽视的一些小细节
- 关于程序中出现的一些问题(容易被忽视的)
- c 中 stdout, stderr 容易忽视的一些细节
- 维护中一些明显但容易忽视的好方法
- iOS中block浅谈
- hdu1078_FatMouse and Cheese记忆化搜索
- Linux进程通信
- MySQL数据库提示:Communications link failure,The last packet succe
- [Linux C 编程]进程间通信(一)
- 在字符数组中容易忽视的一些小的问题
- python随意学学
- SIFT四部曲之——高斯滤波
- JavaScript 变量那些事儿
- hdu 1166
- mysql下载
- 图解PowerDesigner中设置主键自增
- CodeForces - 337 C. Quiz【贪心】
- css实现面包屑导航与冒泡框(border属性与伪类选择器)