嵌入式学习代码总结(五)

20221114

#include<stdio.h>
int main(int argc,char *argv[])
{
	printf("argc=%d\n",argc);
	for(int i=0;i<argc;i++)
	{
		printf("argv[%d]=%s\n",i,argv[i]);
	}
	return 0;
}

#include<stdio.h>
int main(int argc,char *argv)
{
	printf("%ld\n",sizeof(argv));
	return 0;
}

/*
 *	功能:编写一函数
 *	求字符串中指定字符第一次和最后一次出现的
 *	地址
 *	来源:自己
 */
#include<stdio.h>
int main()
{
	char *arr="aaabbb";
	int **p=&arr;
	while(*arr='\0')
	{
		if('a'==p)
		{
			printf("%p\n",'a');
		}
		p++;
	}
}

/*
 *	功能:求字符串中某个字符在
 *	字符串中第一次出现和最后一
 *	次出现的位置
 *	
 *	来源:抄袭
 *
 */
#include<stdio.h>
#include<string.h>
int firstaddr(char *str,char des)
{
	int length=0;
	while(str[length]!=des)
	{
		length++;
	}
	return length+1;
}
/*
 *	思路分析:
 *	char *str="aaabbb"
 *	char des -> 0
 *	while(str[0]!='\0')
 *	'a'!='\0'
 *	length=length+1
 *	length=1
 *	分析完毕
 */
int lastaddr(char *str,char des)
{
	int n=strlen(str);
	int result=0;
	for(int i=0;i<n;i++)
	{	
		if(str[i]==des)
		{
			result=i;
		}
	}
	return result+1;
}
/*
 * 	思路分析
 *	char *str="aaabbb"
 *	char des->'\0'
 *	int n=strlen(str)=6;
 *	i=0->'a' str[0]
 *	i=1->'a' str[1]
 *	i=2->'a' str[2]
 *	i=3->'b' str[3]
 *	i=4->'b' str[4]
 *	i=5->'b' str[5]
 *	str[0]!=des
 *	str[1]!=des
 *	str[2]!=des
 *	result=0
 *	result=0+3=3
 *	分析完毕
 *
 */
int main()
{
	char arr[30]={0};
	char des=0;
	printf("请输入一个字符串:\n");
	scanf("%s",arr);
	gets();
	printf("请输入要查找的字符:\n");
	scanf("%c",&des);
	printf("字符%c在字符串%s第一次出现的序号为:%d\n",des,arr,firstaddr(arr,des));
	printf("字符%c在字符串%s最后一次出现的序号为:%d\n",des,arr,lastaddr(arr,des));
}

/*
 *	功能:
 *	将一个字符串中的指定字符找出
 *	并打印出第一次出现的位置 
 *	问题:段错误
 */
#include<stdio.h>
char *firstaddress(char *ptr,char c)
{
	int i=0;
	while(*(ptr+i)!='\0')
	{
		if(*(ptr+i)==c)
		{
			return ptr;
		}
		ptr++;
	}
	printf("%s\n",ptr);
	return ptr;
}
char *lastaddress(char *atr,char c)
{
	int i=0;
	char *lastaddress=NULL;
	while(*(atr+i)=='\0')
	{	
		if(*(atr+i)==c)
		{
			lastaddress=atr;
		}
		atr++;
	}
	printf("%s\n",lastaddress);
	return atr;
}
int main()
{
	char str[30]={0};
	printf("请输入一个字符串:\n");
	gets(str);
	char c;
	printf("请输入要查找的字符串:\n");
	scanf("%c",&c);
	char *ptr=NULL;
	char *atr=NULL;
	ptr=firstaddress(str,c);
	ptr=lastaddress(str,c);
	return 0;
}

/*
 *	功能:
 *	将一个字符串中的指定字符找出
 *	并打印出第一次出现和最后一次出现的位置 
 *i	问题:只打印了第一次出现的位置
 */
#include<stdio.h>
char *firstaddress(char *atr,char c)
{
	//int length=0;
	int i=0;
	while(*(atr+i)!=c)
	{
		i++;
	}
	if(atr!=NULL)
	{
		printf("firstaddress:%p\n",atr);
	}
	//return length+1;

}
char *lastaddress(char *ptr,char c)
{
	int i=0;
	char *findaddress=NULL;
	while(*(ptr+i)!='\0')
	{
		if(*(ptr+i)==c)
		{
			findaddress=ptr;
		}
		ptr++;
	}
	//printf("未找到元素\n");
	if(ptr==NULL)
	{
		printf("lastaddress:%p\n",ptr);
	}
	return findaddress;
}
/*char *lastaddress(char *atr,char c)
{
	int i=0;
	char *lastaddress=NULL;
	while(*(atr+i)=='\0')
	{	
		if(*(atr+i)==c)
		{
			lastaddress=atr;
		}
		atr++;
	}
	printf("%s\n",lastaddress);
	return atr;
}*/
int main()
{
	char str[30]={0};
	printf("请输入一个字符串:\n");
	gets(str);
	char c;
	printf("请输入要查找的字符串:\n");
	scanf("%c",&c);
	char *ptr=NULL;
	char *atr=NULL;
	ptr=firstaddress(str,c);
	atr=lastaddress(str,c);
	//ptr=lastaddress(str,c);
	return 0;
}

/*
 *	功能:
 *	将一个字符串中的指定字符找出
 *	并打印出第一次出现的位置
 *i	成功:打印了第一次出现的位置
 */
#include<stdio.h>
char *firstaddress(char *atr,char c)
{
	//int length=0;
	int i=0;
	while(*(atr+i)!=c)
	{
		i++;
	}
	if(atr!=NULL)
	{
		printf("firstaddress:%p\n",atr);
	}
	//return length+1;

}
/*char *lastaddress(char *ptr,char c)
{
	int i=0;
	char *findaddress=NULL;
	while(*(ptr+i)!='\0')
	{
		if(*(ptr+i)==c)
		{
			findaddress=ptr;
		}
		ptr++;
	}
	//printf("未找到元素\n");
	if(ptr==NULL)
	{
		printf("lastaddress:%p\n",ptr);
	}
	return findaddress;
}
char *lastaddress(char *atr,char c)
{
	int i=0;
	char *lastaddress=NULL;
	while(*(atr+i)=='\0')
	{	
		if(*(atr+i)==c)
		{
			lastaddress=atr;
		}
		atr++;
	}
	printf("%s\n",lastaddress);
	return atr;
}*/
int main()
{
	char str[30]={0};
	printf("请输入一个字符串:\n");
	gets(str);
	char c;
	printf("请输入要查找的字符串:\n");
	scanf("%c",&c);
	char *ptr=NULL;
	//char *atr=NULL;
	ptr=firstaddress(str,c);
	//atr=lastaddress(str,c);
	//ptr=lastaddress(str,c);
	return 0;
}

/*
 *	功能:
 *	将一个字符串中的指定字符找出
 *	并打印出第一次出现的位置
 *i	成功:打印了最后一次出现的位置
 */
#include<stdio.h>
/*char *firstaddress(char *atr,char c)
{
	//int length=0;
	int i=0;
	while(*(atr+i)!=c)
	{
		i++;
	}
	if(atr!=NULL)
	{
		printf("firstaddress:%p\n",atr);
	}
	//return length+1;

}*/
char *lastaddress(char *ptr,char c)
{
	int i=0;
	char *findaddress=NULL;
	while(*(ptr+i)!='\0')
	{
		if(*(ptr+i)==c)
		{
			findaddress=ptr;
		}
		ptr++;
	}
	//printf("未找到元素\n");
	if(ptr!=NULL)
	{
		printf("lastaddress:%p\n",findaddress);
	}
	return findaddress;
}
/*char *lastaddress(char *atr,char c)
{
	int i=0;
	char *lastaddress=NULL;
	while(*(atr+i)=='\0')
	{	
		if(*(atr+i)==c)
		{
			lastaddress=atr;
		}
		atr++;
	}
	printf("%s\n",lastaddress);
	return atr;
}*/
int main()
{
	char str[30]={0};
	printf("请输入一个字符串:\n");
	gets(str);
	char c;
	printf("请输入要查找的字符串:\n");
	scanf("%c",&c);
	char *ptr=NULL;
	//char *atr=NULL;
	//ptr=firstaddress(str,c);
	//atr=lastaddress(str,c);
	ptr=lastaddress(str,c);
	return 0;
}

#include<stdio.h>
char *strcat(char *ptr,char *atr)
{
	int i=0;
	int j=0;
	while(*(ptr+i)!='\0')
	{
		i++;
	}
	while(*(atr+j)!='\0')
	{
		*(ptr+i)=*(atr+j);
		i++;
		j++;
	}
	return ptr;
}
int main()
{
	char ptr[30]="xuzi";
	char atr[30]="chen";
	strcat(ptr,atr);
	//char *strcat(char *ptr,char *atr);
	puts(ptr);
	return 0;
}

作者:徐子宸

地点:

华清远见西安中心嵌入式22101班

第9培训室

时间:2022年11月15日

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值