字符型数组的基础操作 嘿嘿

目录

一、字符型数组的初始化与赋值方法

二、字符型数组的长度

 三、字符型数组的比较

1.第一种:strcmp  ()

 2.第二种:逐个比较

 四、数组的调用

1.传值调用

2.传地址调用,改变实参


一、字符型数组的初始化与赋值方法

1.用到这种一般是题目直接输入一串字符,不知道长度

但是如果识别到空格就会自动结束

2.一般是知道长度的情况下

 3.

 4.

 ps:从输出结果看出,空格也是占一个空间的

5.利用了函数,记得添加头文件  #include<cstring>

6.gets()函数

#include <stdio.h>

可以容纳字符数组中有空格

gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。

Attention!!!

只有在初始化时才能够直接赋值,之后是不允许直接整体赋值的

(以下为错误示范,请勿模仿)

二、字符型数组的长度

利用strlen函数

头文件#include<cstring>

 

相关代码:

#include<iostream>
#include<cstring> 
using namespace std;
int main()
{  //第一种赋值方法 (不知道长度) 
/*	char a[10];
	cin>>a;
	cout<<a[5];
	return 0;*/
	
//第二种赋值方法(for循环)
 /*char b[20];
 int n;
 cin>>n;//要输入的字符长度
 for(int i=0;i<n;i++)
 {
 	cin>>b[i];
	 }	
	 cout<<b[2];
	 return 0;*/
	 //第三种赋值方法:初始化字符串的值 
	 /* char c[20]={'h','e','l','l','o'};
	  cout<<c[2];
	  return 0;*/
	  //第四种:在定义时直接将字符串赋值给字符数组
	 /* char d[]="hello world";
	  cout<<d[5];
	  return 0;*/
	  //第五种:利用strcpy函数 string copy(字符串复制) 
	  char e[20];
	  strcpy(e,"hello world");
/*函数求是字符串的实际长度,
它可以用来获取动态实际字符数组的长度,是从开始到遇到第一个“\0”,
如果只是定义没有赋予初始值,这个结果是不确定的,它会从数组的首地址开始一直找下去,直到遇到“\0”停止查找。"\0"不包括在长度中 */ 
       cout<<strlen(e);//头文件是 include<cstring> 
	  return 0; 
	   
	   
 } 

 三、字符型数组的比较

1.第一种:strcmp  (<cstring>)

strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(遇见\0)。

返回值:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str2 小于 str1。
  • 如果返回值 = 0,则表示 str1 等于 str2。

 2.第二种:逐个比较

 四、数组的调用

1.传值调用

eg:

void student(char a[])

int main{

char a[20];

student(a)//用数组名即可

}

2.传地址调用,改变实参

void teacher(char* a)//取地址

int main{

char a[20];

teacher(a);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值