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日