1樓:問明
#include
#define n 80
void cmp(char a[n],char b[n])int i=0;
char *p1=a,*p2=b;
while(*(p1+i)==*(p2+i)&&*(p1+i)!='\0')
i++;
if(*(p1+i)>*(p2+i))
printf("%s>%s\n",p1,p2);
else if(*(p1+i)<*(p2+i))printf("%s<%s\n",p1,p2);
else
printf("%s=%s\n",p1,p2);
int main()
char a[n]=,b[n]=;
char c[n]=,d[n]=;
char e[n]=,f[n]=;
cmp(a,b);
cmp(c,d);
cmp(e,f);
return 0;
執行效果:
2樓:
看了也試了、沒什麼問題
不過不用加標頭檔案string.h
while((str1[i]==str2[i])&&(str1[i]!='\0')) i++;
這是說兩個字串從首位字元開始比較、如果相比較的兩個字元相等且第一個字串沒有到結尾、那麼要比較的字元各向後移動一位、str1[i]!='\0'是判斷字串結束的、當不滿足條件時就會繼續向下執行
s=0;
else
s=str1[i]-str2[i];
如果是由於第一個字串結束而跳出上面的迴圈、判斷第二個字串是否也結束了、
也就是判斷下是不是兩個字串同時結束、如果是、s=0、不是、s為兩個字元相差的ascii碼
c語言問題:不用strcmp函式比較兩個字串的大小
3樓:問明
#include
#define n 80
void cmp(char a[n],char b[n])int i=0;
char *p1=a,*p2=b;
while(*(p1+i)==*(p2+i)&&*(p1+i)!='\0')
i++;
if(*(p1+i)>*(p2+i))
printf("%s>%s\n",p1,p2);
else if(*(p1+i)<*(p2+i))printf("%s<%s\n",p1,p2);
else
printf("%s=%s\n",p1,p2);
int main()
char a[n]=,b[n]=;
char c[n]=,d[n]=;
char e[n]=,f[n]=;
cmp(a,b);
cmp(c,d);
cmp(e,f);
return 0;
執行效果:
4樓:匿名使用者
#include
int main()}
有兩個字串,利用函式實現兩個字串的連結,兩個字串比較大小,計算兩個字串的長度,將第二個字元
5樓:_葉子妞妞
char * mystrcat(char *str1, char *str2)
int mystrcmp(const char * src, const char * dst )
int mystrlen(const char *str)return len;
}char * mystrcpy (char * dst, char * src)
6樓:在晴天的雨傘
#include
void conectstring(char str1,char str2,char str)
void main()
用C語言編寫比較兩個字串大小的程式 不能用string函式
include int str cmp char str1,char str2 if str1 0 str2 0 return 1 if str1 0 str2 0 return 1 if str1 0 str2 0 return 0 int main else if a i 0 return 1 ...
比較兩個字串的大小(用陣列a,b,如果a大於b,輸出1如果a小於b,輸出 1如果a等於b,輸出0 )
字串比較用函式 strcmp。char a 80 b 80 printf please enter string a n gets a printf please enter string b n gets b if strcmp a,b 0 printf 0 else if strcmp a,b ...
C語言問題比較三個字串的大小,由小到大輸出。
可以不使用c標準庫提供的strcmp函式,但是兩個字串是要比較的。不比較是不能知道誰小誰大的。設想,如果不比較,當然你可以眼看出來,但是計算機是不知 道的,計算機只根據我們給予了它的指令才執行的 include include include int str compare const char s...