1、写一个函数将字符串倒叙输出
复制代码
#include <stdio.h>
#include <string.h>
void func(char *src)
{
int len = strlen(src); // 获取字符串长度
for(int i = 0; i < (len / 2); i++)
{
char tmp = src[i]; // 交换第i个和第len-1-i个字符
src[i] = src[len - 1 - i];
src[len - 1 - i] = tmp;
}
printf("%s\n", src);
}
int main(int argc, char const *argv[])
{
char src[] = "abcde"; // 用字符数组存储,可修改
func(src); // 输出:edcba
return 0;
}
2、写一段代码,判断当前是大端序还是小端序
复制代码
#include <stdio.h>
int main()
{
int a = 0x12345678;
char *p=NULL;
p=(char *)&a;
printf("%#x\n",*p);
}
3、自己写的strlen()函数
复制代码
#include <stdio.h>
unsigned long My_Strlen(char *s)
{
if(s == NULL)
return 0;
unsigned long count = 0;
while(*s != '\0')
{
s++;
count++;
}
return count;
}
int main()
{
char str[]={"wertyuiokjhdfghjjb vifnv"};
unsigned long len=My_Strlen(str);
printf("该字符串长度为:%ld\n",len);
}
4、自己写的strcpy()函数
复制代码
#include <stdio.h>
void My_Strcpy(char *a,char *b)
{
if((a == NULL)|| (b == NULL))
return ;
while(*b != '\0')
{
*a=*b;
a++;
b++;
}
*a='\0';
}
int main()
{
char stra[]={"hello"};
char strb[]={"world"};
printf("stra:%s\n",stra);
printf("strb:%s\n",strb);
My_Strcpy(stra,strb);
printf("stra复制到strb后:%s\n",stra);
}
5、自己写的strcat()函数
复制代码
#include <stdio.h>
void My_Strcat(char *a,char *b)
{
if((a == NULL)|| (b == NULL))
return ;
while(*a != '\0')
{
a++;
}
while(*b!='\0')
{
*a=*b;
a++;
b++;
}
*a='\0';
}
int main()
{
char stra[]={"hello"};
char strb[]={"world"};
printf("stra:%s\n",stra);
printf("strb:%s\n",strb);
My_Strcat(stra,strb);
printf("strb追加复制到stra后:%s\n",stra);
}
6、自己写的strcmp()函数
复制代码
#include <stdio.h>
int My_Strcmp(char *a,char *b)
{
if((a == NULL)|| (b == NULL))
return -99;
while((*a != '\0')&& (*b!='\0') && (*a == *b))
{
a++;
b++;
}
return *a-*b;
}
int main()
{
char stra[]={"hello"};
char strb[]={"hellp"};
printf("stra:%s\n",stra);
printf("strb:%s\n",strb);
int x=My_Strcmp(stra,strb);
printf("stra与strb进行strcmp后=%d\n",x);
}