封装 strcpy
代码
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
char str1[10]=" ";
char str2[10]=" ";
printf("请输入第一个字符串\n");
gets(str1);
printf("请输入第一个字符串\n");
gets(str2);
char *p1 = str1;
char *p2 = str2;
while(*p2)
{
*p1 =*p2;
p1++;
p2++;
}
*p1=*p2;
puts(str1);
puts(str2);
return 0;
}
效果
封装 strcmp
代码
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
char str1[10]=" ";
char str2[10]=" ";
printf("请输入第一个字符串\n");
gets(str1);
printf("请输入第一个字符串\n");
gets(str2);
char *p1 = str1;
char *p2 = str2;
int count = 0;
while(*p2 ||*p1)
{
if (*p1 >*p2)
{
count= *p1 -*p2;
break;
}
else if (*p1 <*p2)
{
count= *p1 -*p2;
break;
}
p1++;
p2++;
}
printf("结果是%d\n",count);
return 0;
}
效果
封装 strcat
代码
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
char str1[10]=" ";
char str2[10]=" ";
printf("请输入第一个字符串\n");
gets(str1);
printf("请输入第一个字符串\n");
gets(str2);
char *p1 = str1+strlen(str1);
char *p2 = str2;
int count = 0;
while(*p2 )
{
*p1 = *p2;
p1++;
p2++;
}
*(p1+strlen(str1)) = *p2;
puts(str1);
puts(str2);
return 0;
}
效果
从终端中输入一串字符,求出空格的个数;指针
代码
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
char str1[10]=" ";
int count = 0;
printf("请输入第一个字符串\n");
gets(str1);
char *p1 = str1;
while(*p1 )
{
if (*p1 == ' ')
{
count++;
}
p1++;
}
printf("一共有%d个空格\n",count);
return 0;
}
效果
冒泡排序--->指针
代码
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
char str1[10]=" ";
printf("请输入一个字符串\n");
gets(str1);
int num =strlen(str1),i = 0 ,j = 0;
char *p1 = str1;
for ( i = 0; i < num; i++)
{
for ( j = 0; j < num-1-i; j++)
{
p1 = str1+j;
if (*p1> *(p1+1))
{
*p1 = *p1 ^ *(p1+1);
*(p1+1) = *p1 ^ *(p1+1);
*p1 = *p1 ^ *(p1+1);
}
}
}
puts(str1);
return 0;
}