1樓:我是一個麻瓜啊
(1)strcmp是比較兩個字串的大小,兩個字串相同時返回0,第一個字串大於第二個字串時返回一個正值,否則返回負值.
(2)比較兩個字串的演算法是:逐個比較兩個串中對應的字元,字元大小按照ascii碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關係就確定了兩個字串的大小關係,如果未遇到不同字元而某個字串首先結束,那麼這個字串是較小的,否則兩個字串相等。
2樓:匿名使用者
strcmp(s1,s2)
說明:當s1s2時,返回值》0
兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。如:
"a"<"b" "a">"a" "computer">"compare"
3樓:
char *str="aaaa",*ch="bbbbb";
if(strcmp(str,ch)>0) //成立就是字串str在字串ch後面
if(strcmp(str,ch)==0) //成立就是字串內容一致
if(strcmp(str,ch)<0) //成立就是字串str在字串ch前面
4樓:往昔
int strcompare(char *s1,char *s2)return (*s1-*s2);
}即把兩個字串相對應的字元拿出來進行比較,返回第一個不等的字元比較的大小即可。c語言系統為使用者提供了庫函式strcmp可以實現以上函式功能。呼叫格式為:strcmp(s1,s2);
teacher 和teaching,第一個不等的字元是teacher的e和teaching的i,所以teaching大
c語言中strcmp字串比較函式的判斷標準是什麼呀?
5樓:匿名使用者
格式: strcmp(字元陣列名1,字元陣列名2)功能:按照ascii碼順序比較兩個陣列中的字串版,並由函式返回權值返回比較結果。
字串1=字串2,返回值=0;
字串1〉字串2,返回值〉0;
字串1〈字串2,返回值〈0。
本函式也可用於比較兩個字串常量,或比較陣列和字串常量。
follow me大
其實只判斷f比c大就完了。
6樓:visr_午夜
strcmp(str1,str2)函式是比較兩個字串的函式:
設這兩個字串為str1,str2,
若str1==str2,則返回零;
若str1>str2,則返回正e68a8462616964757a686964616f31333337616537數;
若str1s2時,返回正數;
即:兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。如:
"a"<"b" "a">"a" "computer">"compare"
特別注意:strcmp(const char *s1,const char * s2)這裡面只能比較字串,即可用於比較兩個字串常量,或比較陣列和字串常量,不能比較數字等其他形式的引數。
ansi標準規定,返回值為正數,負數,0 。而確切數值是依賴不同的c實現的。
所以:用它比較follow me和computer design的話,它會只比較f與c這兩個字串的首元素的大小,所以follow me 比較大。
7樓:羽葉綠
computer design大,用asc碼向後判斷,遇到不相等的輸出結果
c語言問題:不用strcmp函式比較兩個字串的大小
8樓:問明
#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;
執行效果:
9樓:匿名使用者
#include
int main()}
c語言兩個字串比較大小的問題,不使用strcmp函式
10樓:問明
#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;
執行效果:
11樓:
看了也試了、沒什麼問題
不過不用加標頭檔案string.h
while((str1[i]==str2[i])&&(str1[i]!='\0')) i++;
這是說兩個字串從首位字元開始比較、如果相比較的兩個字元相等且第一個字串沒有到結尾、那麼要比較的字元各向後移動一位、str1[i]!='\0'是判斷字串結束的、當不滿足條件時就會繼續向下執行
if(str1[i]=='\0'&&str2[i]=='\0')
s=0;
else
s=str1[i]-str2[i];
如果是由於第一個字串結束而跳出上面的迴圈、判斷第二個字串是否也結束了、
也就是判斷下是不是兩個字串同時結束、如果是、s=0、不是、s為兩個字元相差的ascii碼
c語言 字串,輸入字元,編寫函式dstr將輸入的字元從字串中刪去。要求能調通
給你個參考參考,寫的很不錯的,不過不是我寫的啦 include char dstr char s,char c int main char str 1000 char ch printf 請輸入乙個字串 t gets str printf 請輸入要挖去的字元 t scanf c ch printf ...
C語言如何返回字串,C語言中函式如何返回字串?
1 c語言中,字串不是一種基本型別,其本質是字元陣列,因此直接返回字串是不行的。因為c語言不允許例如 char 10 fun 這樣的函式定義方式。但是可以返回字元指標。返回一個動態分配的記憶體地址。2 例如 char c char getinput int length length 為要輸入字串的...
C語言 編寫函式,由實參傳來字串,統計此字串中字母,數字,空格和其他字元的個數
函式宣告在main的外面,強烈建議直接把函式寫在前面省的宣告了加上字串的標頭檔案string.h。迴圈直接用strlen獲取長度計算,你這樣子看起來太傻了。要返回多個整數的話可以用結構體做返回值,或者用指標 引用 做引數。char ch是指標的意思,初學者不行就用全域性變數。 汽水 char ch,...