1樓:匿名使用者
按照函式定義的方式呼叫,傳進兩個字元陣列的指標即可。
函式原型:
extern int strcmp(const char *s1,const char *s2);
引數: s1、s2都是字元陣列的指標
規則當s1當s1=s2時,返回值= 0
當s1>s2時,返回正數
即:兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。
例程:#include
#include
int main()
2樓:
正如一樓所說,
我要詳細點講一下strcmp()函式
此函式先比較a[0]和b[0]如果a[0]的asc碼大於b[0]的則返回1,如果小於返回-1,如果等於就比較a[1]和b[1],與a[0]和b[0]的比較相同,如果相同就繼續比較下去,直到有一個字串結束
當然如abc和abcd當然返回-1,
3樓:
strcmp比較2個以'\0'結束的字串是否相同的。
你將a[100],b[100]結束後增加一個字元'\0'。
就可以用strcmp(a,b)==0來判斷字串是否相同了。
如:char a[100],b[100];
int i;
i=0;
a[i] = '\0';
i=0;
b[i] = '\0';
if(strcmp(a,b)==0)
printf("字串相同");
else
printf("字串不同");
4樓:趙立懷
int r;
r=strcmp(a,b);
if (0==r)
ab則r返回》0
5樓:
char a[100],b[100];
if (strcmp(a,b)==0)printf("yes");
// 等於0 相同
輸入兩個字串,不用系統提供的函式strcmp(),比較兩個字串是否相等,用指標實現
6樓:匿名使用者
#include
#include
void main()
else if(*p<*q)
else
}if(*p==*q)/*當上述*p或*q都為'\0'時,若此時還沒比較出來兩字串的大小,則說明兩字串相等。此時輸入就如你所寫。*/
}//順便整理的一下你的格式,你看看吧,現在已經完成你所想要的功能了。呵呵
7樓:努力拼搏的小小鳥
後面當1str[30]和str2[30]都是空時,兩者相等,上面加如果任一個字串的字元為空時,停止對比
8樓:
因為你的printf方法寫在while的外面了。。
用strcmp函式比較兩個字串,結果不正確啊
9樓:
strcmp的實現是這樣的,對兩個字串,先比較第一個字元,如果不相等,返回差值。如果相等,繼續比較下一個字元,直到有不相等或遇到『\0』時結束。
現在你把陣列a和b傳入,因為前三個字元都相等,會越界繼續比較的。
如果你想比較兩個字串,字串是要用『\0』結束的。
如果你只想比較前n個,可以使用strncmp,strncmp(a,b,3);
10樓:匿名使用者
你這是在比較字元陣列了吧 不是在比較字串了char a = "abc";
char b = "abc";應該這麼定義你之前定義的是
char a=; //char a[3] 是可以的 a[2] = 'c'
char b=;// char a[4]也是可以的 a[3] = '\0'
不一樣的
11樓:風8清9揚
因為你沒有加字串的結尾標誌'\0',所以才會出錯。
char a=;
char b=
12樓:寂寞而莫我知也
字串你後面還必須要加char a=;
char b=
用strcmp函式比較兩個字串,結果不正確啊
strcmp的實現是這樣的,對兩個字串,先比較第一個字元,如果不相等,返回差值。如果相等,繼續比較下一個字元,直到有不相等或遇到 0 時結束。現在你把陣列a和b傳入,因為前三個字元都相等,會越界繼續比較的。如果你想比較兩個字串,字串是要用 0 結束的。如果你只想比較前n個,可以使用strncmp,s...
c語言字串比較函式strcmp是什麼意思
我是一個麻瓜啊 1 strcmp是比較兩個字串的大小,兩個字串相同時返回0,第一個字串大於第二個字串時返回一個正值,否則返回負值.2 比較兩個字串的演算法是 逐個比較兩個串中對應的字元,字元大小按照ascii碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關係就確定了兩個字串的大小...
如何利用excel找到兩組資料之間的函式對應關係
把這兩組資料選中,插入,圖表,x,y,散點圖,確定。右鍵點圖,新增趨勢線。2003版 選擇趨勢線的型別 線性 指數型 顯示方程2007版 再右鍵點趨勢線,設定,如上。 廈門侯 要對兩列資料進行統計,以獲得兩列資料間的迴歸方程啊。比如你的資料為兩列,a列和b列,其中,a列為自變數x,b列為應變數y。選...