栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

小甲鱼 C语言 22课指针和数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小甲鱼 C语言 22课指针和数组

//实现strlen函数的功能

#include 

int main(void){
	char str[100];
	int i;
	
	printf("请输入一个字符串:");
	fgets(str,100,stdin);
	
	for(i=0;str[i]!='';i++){
	}
	
	printf("你总共输入了%d个字符!n",i-1);
	
	return 0;
} 

//包含中文的
#include  

int main(void){
	char str[100];
	int i,cot=0;
	
	fgets(str,100,stdin);
	
	for(i=0;str[i]!='';i++){
		if((int)str[i]<0){
			i++;
		}
		cot++;
	} 
	
	printf("你总共输了%d个字符!n",cot-1);//fgets读取了回车所以最后要-1 
}
//实现strcpy函数

#include 

int main(void){
	char str1[100];
	char str2[100];
	char *p1=str1;
	char *p2=str2;
	
	printf("请输入一个字符串到str1中:"); 
	fgets(str1,100,stdin);
	
	printf("开始拷贝str1的内容到str2中...n"); 
	while(*p1!=''){
		*p2++=*p1++;
	}
	
	printf("拷贝完毕!n现在,str2的内容时:%sn",str2);
	
	return 0;
} 

//加入中文的strncpy函数
#include 

int main(void){
	char str1[100];
	char str2[100];
	char *p1=str1;
	char *p2=str2;
	int n;
	
	printf("请输入一个字符串到str1中:");
	fgets(str1,100,stdin);
	
	printf("请输入需要拷贝的字符个数:");
	scanf("%d",&n);
	
	printf("现在开始拷贝str1的内容到str2中...n");
	while(n-- && *p1!=''){
		if((int)*p1<0){
			*p2++=*p1++;
		}
		*p2++=*p1++; 
	}
	
	printf("拷贝完毕!n现在,str2的内容是:%sn",str2);
	
	return 0;
} 

//实现strcat函数
#include 

int main(void){
	char str1[100];
	char str2[100];
	char *p1=str1;
	char *p2=str2;
	int i;
	
	printf("请输入第一个字符串:");
	fgets(str1,100,stdin);
	printf("请输入第二个字符串:");
	fgets(str2,100,stdin);
	
	while(*p1++!='')	;
	
	p1-=2;
	while(*p2!=''){
		*p1++=*p2++;
	}
	
	printf("连接后的结果是:%sn",str1);
	
	return 0; 
} 

//实现strncat 函数(包含中文)

#include 

int main(void){
	char str1[100];
	char str2[100];
	char *p1=str1;
	char *p2=str2;
	int n;
	
	printf("请输入第一个字符串:");
	fgets(str1,100,stdin);
	
	printf("请输入第二个字符串:");
	fgets(str2,100,stdin);
	
	printf("请输入需要连接的字符个数:");
	scanf("%d",&n);
	
	while(*p1++!='');
	
	p1-=2;
	while(n-- && &p2!=''){
		if((int)*p2<0){
			*p1++=*p2++;
		}
		*p1++=*p2++;
	}
	*p1=''; 
	printf("连接后的结果是:%sn",str1);
	
	return 0; 
} 

//实现strcmp函数
#include 

int main(void){
	char str1[100];
	char str2[100];
	char *p1=str1;
	char *p2=str2;
	int index=1,flag=0;
	
	printf("请输入第一个字符串:");
	fgets(str1,100,stdin);
	
	printf("请输入第二个字符串:");
	fgets(str2,100,stdin);
	
	while(*p1!='' || *p2!=''){	//这里应该是||比较好,不要写&&
									//如果不是因为fgets最后还有个回车 
		if(*p1++!=*p2++){
			flag=1;
			break;
		}
		index++;
	}
	
	if(flag){
		printf("两个字符串不完全相同,第%d个字符串出现了不同!n",index);
	}
	else{
		printf("两个字符串完全相同!n");
	}
	
	return 0; 
} 

//包含中文的版本

#include 

int main(void){
	char str1[100];
	char str2[100];
	char *p1=str1;
	char *p2=str2;
	int index=1,flag=0;
	
	printf("请输入第一个字符串:");
	fgets(str1,100,stdin);
	
	printf("请输入第二个字符串:");
	fgets(str2,100,stdin);
	
	int n;
	printf("请输入需要比较的字符个数:");
	scanf("%d",&n);
	
	while(n-- && (*p1!='' || *p2!='')){
		if((int)*p1<0){
			if(*p1++!=*p2++){
				flag=1;
				break;
			}
		}
		if(*p1++!=*p2++){
			flag=1;
			break;
		}
		index++;
	}
	 
	if(flag){
		printf("两个字符串不完全相同,第%d个出现不同!n",index);
	} 
	else{
		printf("两个字符串完全相同!n");
	}
	
	return 0;
} 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850100.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号