写一个程序处理字符串A,处理规则是: 只要字符串B里面有的字符,不论大小写,一律从A字符串中删除

写一个程序处理字符串A,处理规则是: 只要字符串B里面有的字符,不论大小写,一律从A字符串中删除

A-->"Hello!KuGo!Look!OK!"
B-->"LMNopq"
--->"He!KuG!k!K!"

#include "stdio.h"
#include "string.h"

/*输入字符串A、B,A去掉B中有的字符*/
int main()
{
	char A[64],B[32];
	int i,j,k;
	
	printf("请输入一个字符串A:\n");
	scanf("%s",A);
	printf("请输入一个字符串B:\n");
	scanf("%s",B);
	
	int len_A=strlen(A);	//A有效字符数
	int len_B=strlen(B);	//B有效字符数
	printf("剔除字符串B中有的字符后:\n");
	for(i=0;i<len_A;i++)	//A
	{
		for(j=0;j<len_B;j++)	//B
		{	
			//判断是否与B字符相同(不分大小写)
			if(A[i]==B[j]||A[i]==B[j]+32||A[i]==B[j]-32)	
			{
				//剔除字符
				for(k=i;k<len_A;k++)
				{
					A[k]=A[k+1];
				}
				len_A--;	//A有效字符数减一
				i--;		//继续从A字符串的第i位与B对比,防止漏掉一些重复字符
				break;
			}		
		}
	}
	printf("%s\n",A);

	return 0;
}

 

 

 

 数组的大小  
    sizeof(); //求任何类型数据的大小
    strlen(); //专门用来求字符串的实际长度
    #include <string.h>
    size_t strlen(const char *s);
    返回值:字符串的实际长度
    参数:s --》你要计算长度的字符串
    原理:计算字符串实际长度,遇到\0认为字符串结束了
总结:
第一:
    sizeof是运算符  strlen是个函数
第二:
    sizeof适用范围广  strlen只能求字符串的实际长度
第三:
    sizeof求字符串的长度会把\0算上
    strlen求字符串的长度不计算\0
    字符串在计算机中的存储方式
    字符串默认有一个结束标记\0(ASCII码值就是0)
    
    char buf[10]="hello"; 
    char buf1[]="hello";    //编译器会自动给字符串的末尾添加\0
    
    int a=sizeof(buf);        //定义的数组有下标,char类型占1个字节,a=10*1=10
    int a1=sizeof(buf1);    //buf1={'h','e','l','l','o','\0'}         a1=6*1=6
    
    int b=strlen(buf);        //只能求字符串的实际长度,有效字符5个,b=5
    int b1=strlen(buf1);    //b=5

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值