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

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

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語言函式,比較兩個字串的大小

城凝慶偉博 include define n100 intinput char a,char b 輸入兩個字串 intmy strcmp char a,char b 比較字串每個字元的大小 else if a b else if a 0 b 0 字串b比字串a長 else if a 0 b 0 字串...

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...

用函式實現兩個字串的比較,即自己寫strcmp函式,函式原型為 int strcmp

如果第乙個字元就相等返回什麼呢?你應該把bad初始化為0如果第乙個字元就不同,那麼就可以判定字串的大小了,就不能繼續迴圈了,而且你的迴圈你也沒判斷字串末尾 int strcmp char p1,char p2 return p1 p2 首先 無條件的給bad賦值為 0 其次,你的判斷條件有問題 條件...