目录
定义及初始化
字符数组的输入输出
字符形式输入输出
scanf,printf函数
getchar,putchar 函数
字符串输入输出
scanf,printf函数
puts,gets函数
字符串函数的简单使用
定义及初始化 在C语言标准中并没有字符串类型,这也使得与字符串有关的操作总是需要字符数组来进行,但字符数组有时候并不能看做字符串。
因为字符串是以" "引起来的一段字符,并且以'\0'为结束标志。如:
char arr[] = "abcdef";
在内存中是一个字符一个字符地存储
文章图片
【C|数组与字符串】
文章图片
'\0'会自动往里面放。如果你限定了数组元素个数,就不会放'\0',说明'\0'也要占一个空间。
文章图片
按照一般的数组初始化方式进行初始化,就会出现下面这种情况:
char arr[5]={'a','b','c','d','e'};
//这里的字符数组a里没有'\0',强行以字符串形式打印会出错
字符数组的输入输出 字符数组的输入方式大致分为两种字符形式输入和字符串形式输入
字符形式输入输出 scanf,printf函数
//按照数组一格一格地输入输出
#include
int main()
{
char arr[5] = { 0 };
for (int i = 0;
i < 5;
i++)
scanf("%c", &arr[i]);
for (int i = 0;
i < 5;
i++)
printf("%c", arr[i]);
return 0;
}
getchar,putchar 函数
#include
int main()
{
char arr[5] = { 0 };
for (int i = 0;
i < 5;
i++)
arr[i] = getchar();
for (int i = 0;
i < 5;
i++)
putchar(arr[i]);
return 0;
}
字符串输入输出 scanf,printf函数
#include
int main()
{
char arr[40] = { 0 };
scanf("%s", arr);
printf("%s\n", arr);
return 0;
}
puts,gets函数
#include
int main()
{
char arr[40] = { 0 };
gets(arr);
puts(arr);
return 0;
}
区别:scanf函数遇到空格符会停止 ,而putchar和puts不会。
字符串函数的简单使用
#include
#include
int main()
{
char arr1[20] = "hello";
char arr2[] = "world";
printf("%s\n", strcpy(arr1, arr2));
//字符串拷贝,将arr2拷贝到arr1中
printf("%s\n", strcat(arr1, arr2));
//字符串追加,将arr2追加到arr1的\0之后
printf("%d\n", strlen(arr1));
//求字符串长度,不包括\0
printf("%d\n", strcmp(arr1, arr2));
//字符串比较,第一个大于第二个字符串返回大于零的数,
//等于返回0,小于返回小于零的数
return 0;
}
文章图片
推荐阅读
- C|C语言的灵魂-指针(1)
- C|初识C语言(2)-常量,字符串+转义字符,ASCII码,选择语句,循环语句,函数,数组,操作符
- 蓝桥杯学习|【第十三届蓝桥杯单片机省赛冲刺-巩固练习3】
- 操作系统|malloc原理和内存分配
- C语言|malloc函数分配内存失败的原因及解决方法
- malloc内存分配原理
- 算法刷题|LeetCode刷题笔记-21.合并两个有序链表
- 安全|第一篇关于我的个人博客--与诸君共勉
- C语言程序练习|交换最小值和最大值