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 其次,你的判斷條件有問題 條件...