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