数组 int float double
char 字符数组
一、字符数组
1、字符数组的一般形式
char 数组名[常量表达式]
char cArray[5];
2、字符数组的引用跟其他类型是一样,用下标。
char cArray[5];
cArray[0]='H';
cArray[1]='e';
cArray[2]='l';
cArray[3]='l';
cArray[4]='o';
3、字符数组的初始化
喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。
(1)逐个元素进行初始化,初始化时可以省略下标。
char cArray[5] = { 'H', 'e','l','l','o' };
char cArray[] = { 'H', 'e', 'l', 'l', 'o' };
(2)用字符串对数组赋值,初始化时可以省略下标
char cArray[5] = {"hello"};
char cArray[]={"hello"};
char cArray[]="hello"; (最常用)
注意:1、使用字符串进行初始化,系统会自动在数组里面加上一个'',作为字符串结束的标志
char cArray[]="hello"; 等效于char cArray[] = { 'H', 'e', 'l', 'l', 'o','' };
printf("%dn", sizeof(cArray));
printf("%dn", sizeof(cArray1));
注意:2、用中文的字符串 一个中文的字节数为2.
printf("%d", sizeof("九夏"));//
3、在使用字符串初始化,数组大小要比我们需要的元素数量大。
比如说名字的长度就不一样
4、字符数组的输入和输出
(1)用%c逐个输入输出
输入的字符数大于数组大小的数量,只接受前面。
#include<;
int main()
{
char cArray[5];
for (int i = 0; i < 5; i++)
{
scanf("%c", &cArray[i]);
}
for (int i = 0; i < 10; i++)
{
printf("%c", cArray[i]);
}
printf("n");
return 0;
}
(2)用%s整体输入输出,输入空格会被截断
喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。
#include<;
int main()
{
char cArray[20];
scanf("%s", &cArray);
printf("%s", cArray);
return 0;
}
#include<;
int main()
{
//%c
/*int Row, Col;
char cArray[2][5];
for (Row = 0; Row < 2; Row++)
{
for (Col = 0; Col < 5;Col++)
{
scanf("%c", &cArray[Row][Col]);
}
}
for (Row = 0; Row < 2; Row++)
{
for (Col = 0; Col < 5; Col++)
{
printf("%c", cArray[Row][Col]);
}
}*/
//%s
int Row, Col;
char cArray[11];
scanf("%s", &cArray);
printf("%s", cArray);
return 0;
}
二、字符串函数
首先需要包含字符串的头文件:
1、拷贝
strcpy(目标字符串,源字符串);
把源字符串拷贝到目标字符串。
(1)目标字符串一定是一个变量。
(2)源字符串不一定。
(3)连''一起拷贝,在第一个''处结束
代码:
//字符串的拷贝 假设有个字符数组 字符串 str1[] str2[]
//char str1[30] = { 0 }; //0 27个
//char str2[30] = "hellosadfsadfgoisdfgsdkfg"; //6个字符
//printf("%d", sizeof(str2));
//for (int i = 0; i < sizeof(str2); i++)
//{
// str1[i] = str2[i];
//}
//printf("%sn", str1);
//char str1[]="abcdefg"; //下标决定这个变量的内存 // 结束
//
//strcpy(str1,"fgh"); //
//printf("%cn", str1[0]);
//printf("%cn", str1[1]);
//printf("%cn", str1[2]);
//printf("%cn", str1[3]);
//printf("%cn", str1[4]);
//printf("%cn", str1[5]);
//printf("%cn", str1[6]);
//printf("%sn", str1);
2、比较
strcmp(字符串1,字符串2);
(1)字符串1==字符串2 返回0
(2)字符串1>字符串2 返回1
(3)字符串1<字符串2 返回-1
//字符串的比较
//char str1[100], str2[100];
//while (1)
//{
// int i = 0, re;
// scanf("%s", &str1);
// scanf("%s", &str2);
// while (str1[i])
// {
// if (str1[i] != str2[i]) //str1[0]—–>str1[99]
// break;
// else
// i++;
// }
// if (str1[i] > str2[i])
// {
// printf("str1>str2n");
// }
// else if (str1[i] < str2[i])
// {
// printf("str1<str2n");
// }
// else
// {
// printf("str1=str2n");
// }
//}
/*int num = 1;
char str1[30] = "hello";
char str2[30];
printf("要进入系统请输入密码:n");
while (1)
{
scanf("%s", &str2);
if (strcmp(str1, str2) == 0)
{
printf("欢迎进入本系统,虽然本系统还在开发中。。。");
喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。
}
else if (strcmp(str1, str2) != 0)
{
num++;
printf("密码错误,这是第%d次警告n", num);
if (num == 4)
{
printf("3次错误,请联系中国人民解放军n");
break;
}
continue;
}
}*///字符串的比较
//char str1[100], str2[100];
//while (1)
//{
// int i = 0, re;
// scanf("%s", &str1);
// scanf("%s", &str2);
// while (str1[i])
// {
// if (str1[i] != str2[i]) //str1[0]—–>str1[99]
// break;
// else
// i++;
// }
// if (str1[i] > str2[i])
// {
// printf("str1>str2n");
// }
// else if (str1[i] < str2[i])
// {
// printf("str1<str2n");
// }
// else
// {
// printf("str1=str2n");
// }
//}
/*int num = 1;
char str1[30] = "hello";
char str2[30];
printf("要进入系统请输入密码:n");
while (1)
{
scanf("%s", &str2);
if (strcmp(str1, str2) == 0)
{
printf("欢迎进入本系统,虽然本系统还在开发中。。。");
}
else if (strcmp(str1, str2) != 0)
{
num++;
printf("密码错误,这是第%d次警告n", num);
if (num == 4)
{
printf("3次错误,请联系中国人民解放军n");
break;
}
continue;
}
}*/
3、获取字符串长度
//sizeof(); //字节
//strlen(); //真正的(有效)长度
char a[30] = "hello";
printf("%dn", sizeof(a));//30
printf("%dn", strlen(a)); //5
今天小编就给大家分享到这里,欢迎学习和转载。关注微信公众号cyuyan01或者加入C语言C++学习交流群560655063 获取大量学习资料!
1.文章《〔c语言怎么给字符数组赋值〕c语言字符数组不赋值默认是0吗!》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《〔c语言怎么给字符数组赋值〕c语言字符数组不赋值默认是0吗!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好