听说许多人都觉得指针比较难,也是因为它比较绕,所以小编准备接下来为大家推送指针与数组相关的内容,欢迎大家持续关注哦。
下面是今天写的是用指针来比较字符串的大小。
写一个函数,实现两个字符串的比较。即自己写一个stringCompared函数,函数原型为:int stringCompared(char * p1,char * p2);,设p1指向字符串s1,p2指向字符串s2。要求当s1==s2时,返回值为0,当s1!=s2时,返回他们两者第一个不同的字符的ASCII码差值,如果s1>s2,则输出一个正值,如果s1<s2,则输出一个负值。
源代码如下:
#include <stdio.h>
#define k 100
int stringCompared(char *p1,char *p2);
int main(){
int m;
char s1[k],s2[k];
char *p1,*p2;
scanf("%s",s1);
scanf("%s",s2);
p1=s1;
p2=s2;
m=stringCompared(p1,p2);
printf("%d",m);
return 0;
}
int stringCompared(char *p1,char *p2)
{
int n,q;
for(n=0;n<k;n++,p1++,p2++){
if(*p1==*p2){
if(*p1=='\0'&&*p2=='\0'){
return 0;
}
else{
continue;
}
}
else{
if(*p1>*p2){
return (*p1-*p2);
}
else{
return (*p1-*p2);
}
}
}
}
运行结果如下: