#使用指针实现字符串拷贝
void MyStrcpy(char *,char q)
程序代码:
1 #include<stdio.h>
2 void Mystrcpy(char *p,char *n)
3 {
4 int i =0;
5 while(*(n+i)!=0)
6 {
7 *(p+i)=*(n+i);
8 i++;
9 }
10 return;
11 }
12 int main()
13 {
14 char arr[]="qwert";
15 char arr1[]="aaa";
16 Mystrcpy(arr,arr1);
17 puts(arr);
18 return 0;
19 }
运行结果:
ubuntu@ubuntu:倒置中的倒置$ ./a.out
aaart
#使用指针实现字符串比较
void Mystcmp(char *p.char *q)
1 #include<stdio.h>
2 void MyStrcmp(char *p,char *q)
3 {
4 int i=0;
5 {
6 while(*(p+i)==*(q+i))
7 {
8 if(*(p+i)==0)
9 {
10 break;
11 }
12 i++;
13 }
14 printf("%d\n",*(p+i)-*(q+i));
15 }
16 return ;
17 }
18
19 int main()
20 {
21 char arr1[30]={0};
22 char arr2[20]={0};
23 gets(arr1);
24 gets(arr2);
25 MyStrcmp(arr1,arr2);
26 return 0;
27 }
28
运行结果:
ubuntu@ubuntu:倒置中的倒置$ ./a.out
abc
abb
1
ubuntu@ubuntu:倒置中的倒置$ ./a.out
abc
acc
-1
ubuntu@ubuntu:倒置中的倒置$ ./a.out
abc
abc
0
#使用指针实现计算单词的个数,返回单词的个数
程序代码:
1 #include<stdio.h>
2 int StrNum(char *p)
3 {
4 int n=0;
5 int m=0;
6 while(*(p+n)!=0)
7 {
8 if(*(p+n)==32&&*(p+n-1)!=32)
9 {
10 m++;
11 }
12 n++;
13 }
14 if(*(p+n-1)!=32)
15 {
16 m++;
17 }
18 return m;
19 }
20
21
22 int main()
23 {
24 int num=0;
25 char str[]="hello my student";
26 num=StrNum(str);
27 printf("%d\n",num);
28 return 0;
29 }
运行结果:
ubuntu@ubuntu:倒置中的倒置$ ./a.out
3