比較兩個字串的大小(用陣列a,b,如果a大於b,輸出1如果a小於b,輸出 1如果a等於b,輸出0 )

時間 2021-08-30 11:01:39

1樓:

字串比較用函式 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)>0) printf("1");

else printf("-1");

2樓:匿名使用者

核心**字串長度可任意,下面a,b只是隨便長度舉例,只要不兩字串的首地址傳給p,q即可

char a="alsdjfa";

char b=";asldjfaslfh";

char *p;

char *q;

int flag=3;

for(p=a,q=b;*p!='\0'&&*q!='\0';p++,q++)

else if *p==*q

else

}if flag!=3

esle if *p=='\0'

else

3樓:匿名使用者

通過移位運算來判定整數的正負性。

#include

using namespace std;

#define max(a,b) (((a)-(b))>>31 ? (b) : (a))

int main()

4樓:匿名使用者

將a、b兩個陣列逐個相對應的字元進行比較,如果a的大於b的對應字元,直接輸出1;如果a的小於b的對應字元,直接輸出-1;如果相等則繼續比較下一個字元,比較結果與上述相同,若比較到最後對應字元仍然相等,則輸出0。

長度不確定的話,如果比較到較短的陣列最後還是兩個相同,則較長的陣列最終大於較短的陣列。

如何用c語言編寫一程式,實現對兩個字串進行比較,然後輸出兩個字串中第一個不同字元的ascii碼之差

5樓:用著追她

1、首先比較字元bai串的大小,我們du可以直接用比zhi較符號來比較就dao

行了,比如大專於符號。

2、執行後屬,得到結果,因為'abc'這個字串是小於‘cde’這個字串的,所以結果顯示為false是對的。

3、除了用大於來比較,我們還可以用等號來比較,這也是經常用來比較字串的符號,比如比較輸入密碼和資料庫的密碼是否相等。

4、執行結果是false,很顯示,我們比較的二個字串是不相等的。

5、函式是按位元組來比較的,是比較安全的比較函式,其接受二個引數,當引數1比引數2小時,返回的結果小於0,當引數1比較引數2大時,返回大於0的結果,當二者相等,則返回0。

6、執行結果,二個比較都返回小於0的數字。

6樓:

宣告兩個char型陣列,輸入兩個字串存入a和b。用一個for迴圈依次比較a和b對應的字元,不同時結束專比較屬,然後計算這兩個不同字元的差值輸出。**如下:

#include "stdio.h"

int main(int argc,char *argv)執行樣例如下:

7樓:匿名使用者

#include

#include

int change(char *str,char *str1)int 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 ...

用strcmp函式比較兩個字串,結果不正確啊

strcmp的實現是這樣的,對兩個字串,先比較第一個字元,如果不相等,返回差值。如果相等,繼續比較下一個字元,直到有不相等或遇到 0 時結束。現在你把陣列a和b傳入,因為前三個字元都相等,會越界繼續比較的。如果你想比較兩個字串,字串是要用 0 結束的。如果你只想比較前n個,可以使用strncmp,s...

c語言兩個字串比較大小的問題,不使用strcmp函式

問明 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 pr...