C语言初级阶段4——数组3——字符数组
C语言初级阶段4——数组3——字符数组
字符数组的定义:储存字符类型数据的集合
1.注意:如果用字符串给字符数组初始化,那么不需要{},但是要有""。
2.%s :用来输出字符串的格式占位符
3.0数据 转义字符 \0 \0表示字符串的结尾 每个字符串的末尾都有一个\0表示结束
4.%s表示输出到字符串的\0位置
#include<stdio.h>
int main() {
int arr[10];
char str[10] = { 0 };
str[0] = 'a';
str[1] = 'b';
printf("%d\n", str[1]);
return 0;
}
#include<stdio.h>
int main() {
int arr[10];
char str[10] = { 0 };
str[0] = 'a';
str[1] = 'b';
for (int i = 0; i < 10; i++)
{
printf("%c\n", str[i]);
}
char str1[10] = { "auibdeg" };
for (int i = 0; i < 10; i++)
{
printf("%c\n", str1[i]);
}
return 0;
}
#include<stdio.h>
int main() {
char str1[10]={"auibdeg"};
printf("%s\n",str1);
return 0;
}
#include<stdio.h>
int main() {
char str2[10];
str2[0] = 'a';
str2[1] = 'b';
//str2[9]='\0';
str2[2] = '\0';
printf("%s\n", str2);
return 0;
}
#include<stdio.h>
int main() {
char str2[10];
scanf("%s", str2);//单个字符需要加&多个字符不需要加&
printf("%s\n", str2);
return 0;
}
#include<stdio.h>
int main() {
char str3[10] = "你好";
char str4[] = "好";
return 0;
}
#include<stdio.h>
int main() {
char str5[10] = "abc";
printf("%c\n", &str5[3]);
char str6[10];//\0就是一个空格
/*scanf("%s",str6);
printf("%s",str6);*/
gets(str5);
puts(str5);
return 0;
}
//二维数组用来存储学生名单可以用中文赋值。
#include<stdio.h>
int main() {
char str7[3][10] =
{
{"张三"},
{"李四"},
{"王五"}
};
printf("%s\n", str7[0]);
return 0;
}
常用的字符串函数
1.strcmp用来比较两个字符串的函数
比较完之后返回一个结果,0表示两字符串相等
>0表示str>str1
<0表示str#include<stdio.h>
#include<string.h>//strcmp的头文件
int main() {
char str[10] = "aaaaaa";
char str1[10] = "aaara";
if (strcmp(str, str1) == 0)
{
printf("YES\n");
}
if (strcmp(str, str1) > 0)
{
printf(">\n");
}
if (strcmp(str, str1) < 0)
{
printf("<\n");
}
return 0;
}
2.strlen:求字符串的有效长度
warning:\0不算有效长度 sizeof是求类型大小的
#include<stdio.h>
#include<string.h>//strlen的头文件
int main() {
char str[10] = "abc";
printf("%d\n", sizeof(str));
printf("%d\n", strlen(str));
return 0;
}
3.strcat:字符串的拼接函数
把str拼接到str1的末尾
str后面的[]空间一定要给够,不然会报错,可能会损坏本文件。
#include<stdio.h>
#include<string.h>//strcat的头文件
int main() {
char str[10] = "aac";
char str1[10] = "bba";
printf("%s\n", strcat(str, str1));
/*或者是strcat(str,str1);
printf("%s\n",str);*/
return 0;
}
4.strcpy:字符串拷贝函数
把srt里面的数据替换成str1.
#include<stdio.h>
#include<string.h>//strcpy的头文件
int main() {
char str[10] = "abc";
char str1[10] = "def";
strcpy(str, str1);
char str2[10] = { 0 };
strcpy(str2, "qqqq");
printf("%s\n", str2);
printf("%s\n", str);
puts(str2);
return 0;
}
VS2022改动补充
对于scanf的改动问题的解决办法
修改方法1:将scanf换成scanf_s,如果是字符串的话需要改变格式为scanf_s("%s",变量名,变量大小)
#include<stdio.h>
#include<string.h>
int main()
{
/*char str[10];
scanf_s("%s",str,10);
printf("%s\n",str);*/
char ch;
scanf_s("%c", &ch);
printf("%c", ch);
return 0;
}
修改方法2:右击源文件,打开属性,找到SDL检查,设置为否。
对于gets的改动问题的解决办法
修改方法1:将gets换成gets_s.
修改方法2:将gets换成fgets(str,字符串大小,stdin)
C语言初级阶段4——数组3——字符数组的更多相关文章
- String.getBytes()和String.tocharArray(),字节数组和字符数组的区别
String.getBytes()是将字符串转化为一个字节数组.而String.toCharArray()是将一个字符串转化为一个字符数组. [例如] byte bys[] ="国庆60周年 ...
- C语言中整形数组、字符数组、字符串的区别
一. 第一 整型数组的存放,数组最后是不加'\0'的,字符串会自动加上,因此存放字符的时候数组的大小要比实际字符的多一个 第二 整型数组 每一个单元是4个字节的,字符串是一个一个字符存放的,每个字符占 ...
- 字符类型char、字符串与字符数组、字符数组与数据数组区别
字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符 AS ...
- string str将str转字符数组以及字符数组初始化
c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地 ...
- String与包装类_字节数组_字符数组间的转换
1.字符串与基本数据类型,包装类之间的转换 2.字符串与字节数组间的转换 3.字符串与字符数组间的转换 4.String与StringBuffer ①String---->StringBuffe ...
- 【C语言学习】-04 一维数组、字符数组
一维数组.数组排序.字符数
- [日常] C语言中的字符数组和字符串
c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋 ...
- C语言字符数组和字符串
用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ' ', 'p', 'r', 'o' ...
- C语言字符数组超细讲解
看到标题,有不少朋友会想:字符数组不也是数组吗?为什么要单独拿出来讲哩?莫非它是朵奇葩? 哈哈,确实,一起来认识一下这朵数组界的奇葩吧! 一.字符数组的定义.引用.初始化 大家好!我是字符数组,看我的 ...
- C语言数组:C语言数组定义、二维数组、动态数组、字符串数组
1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...
随机推荐
- 模型admin 外键的相关操作
....@admin.register(MyModel)class MyModelAdmin(admin.ModelAdmin): def method(self, request, queryset ...
- openwrt 配置 单网卡多IP
config interface 'wan0' option ifname 'eth1' option proto 'static' option nat '1' option mtu '1500' ...
- 高德地图poi关键字搜索-vue+ant-design
最近有个需求,需要输入上车点,下车点,然后输入上车点的时候还要在下方显示地图附近的车辆.百度了一波之后,完全莫得头绪,很多代码也都用不了,即便改了之后也不怎么生效.我用的是jeecg-boot.最后静 ...
- 算法图解 - 第1章 二分查找 与大O
例子:猜一个1到100之间的数,最多猜几次? # 最糟糕的猜法:一个一个的猜 - 最多查找次数: n - 运行时间: O(n) # 二分查找:在有序的一组数中猜一个数,对半猜.找到返回其位置(索引) ...
- 整理15款实用javascript富文本编辑器
百度UEditor 官方网址:http://ueditor.baidu.com/website/ UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验 ...
- Cupboard and Balloons CodeForces - 342C
Cupboard and Balloons CodeForces - 342C 找到不变的点 抓住不确定的点进行讨论 #include<iostream> #include<cmat ...
- drf从入门到飞升仙界 02
restful规范 # restful是一种定义web API接口的设计风格,适用于前后端分离的应用模式中 # 关于restful的10个规范 -1.数据的安全保障,通常使用https协议(http+ ...
- 手写reduce()
function reduce(arr, callBack ,initVal){ if(!Array.isArray(arr) || !arr.length || typeof callBack != ...
- File、Files、Path、Paths
一.Path.Paths 和 File.Files // Paths 工具类,用于获取 Path 实例 Path path = Paths.get("files/Data.txt" ...
- Jetbrains Rider 2020.1.4 安装教程
话说Visual Studio 是世界第亿的IDE没人反对吧!!! 用惯了VS之后就不得不吐槽他的运行效率,五步一停十步一卡的岁月也不得不熬过来了,然而!!! 看到了视频里别人使用了Rider,集成了 ...