字符序列跟字符串有什么区别?
一、字符序列跟字符串的区别
1. C语言中没有字符串这种数据类型,可以通过char的数组来代替;
2. 字符串一定是一个char的数组,但char的数组未必是字符串;
3. 数字0(和字符’\0’等价)结尾的char数组就是一个字符串,,只是普通字符数组,所以字符串是一种特殊的char数组。
注:
%s是打印一个字符串,%c是打印一个字符
%s会接收字符串结束标志’\0’之前的所有字符,在ASCII中就是0
1.不指定数组长度:没有0结束符,有多个元素就有多长
普通字符数组,输出结果乱码,因为没有’\0’结束符
以’\0’或数字0结尾的字符数组是字符串
2.指定长度:后面没有赋值的元素,自动补0
3.%s遇到’\0’自动结束输出
4.若输入的字符串含有空格,scanf默认遇到空格结束输入,这时可以采用正则表达式来改变scanf默认结束标志。若将正则表达式改成[^1-9],则表示遇到1-9的任意数字结束输入。
5.字符串追加
#include
#include
int main()
{
int n=100,n1,n2,i = 0;
printf(“请输入n1,n2:\n”);
scanf(“%d %d”,&n1,&n2);
char arr1[n1],arr2[n2],arr[n];
printf(“请输入arr1的内容:\n”);
scanf(“%s”,&arr1);
printf(“请输入arr1的内容:\n”);
scanf(“%s”,&arr2);
while(arr1[i]!=’\0′){ //当遇到arr1的字符结束标志结束复制
arr[i] = arr1[i];
i++;
}
while(arr2[i-n1]!=’\0′){ //当遇到arr2的字符结束标志结束复制
arr[i] = arr2[i-n1]; //arr2的序号应减去arr1的长度,防止溢出
i++;
}
arr[i] = ‘\0’; //添加字符串结束标志
printf(“arr1+arr2相加后的结果为:\n”);
printf(“%s”,arr);
return 0;
}
延伸阅读:
二、C语言
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

猜你喜欢LIKE
相关推荐HOT
更多>>
智能家居是什么?
一、智能家居是什么智能家居是一种利用信息技术和自动化控制技术,实现家庭设备和家居系统自动化、智能化、网络化和远程控制的方式。智能家居设...详情>>
2023-10-13 22:09:16
什么是迭代器?
一、什么是迭代器迭代器协议迭代器是python较早大的功能之一,是访问集合元素的一种方式。对象必须提供一个next方法,执行该方法要么返回迭代中...详情>>
2023-10-13 21:44:35
Java中toString有什么作用?
一、Java中toString的作用Java中的toString()方法是Object类中的方法,它的主要作用是返回一个描述对象的字符串。通常情况下,toString()方法被...详情>>
2023-10-13 20:41:50
为什么C语言对字符串的设计是用零结尾?
一、C语言对字符串的设计是用零结尾的原因C语言中使用零结尾字符串的设计主要是出于历史原因和可移植性考虑。在C语言的早期版本中,内存是非常...详情>>
2023-10-13 20:12:48