#include <string.h>
char s1[10],s2[10]; ... if(strcmp(s1,s2)==0) printf("兩字符串相等\n");
string.h 頭文件中就有比較函數,可以用來比較是否相等
2:這個是普通方法 不調用函數strcmp();
#include <stdio.h>
int comparision(char a[],char b[])
{
int t,i=0;
while(a[i]!='\0'||b[i]!='\0')
{
if(a[i]==b[i]) t=0;
else if(a[i]>b[i]) t=1;
else t=-1;
if(t!=0) break;
i++;
}
return t;
}
main(void)
{
char a[40],b[40];
int k=0;
gets(a);
gets(b);
k=comparision(a,b);
if(k==1) printf("a[40]>b[40]");
else if(k==-1) printf("a[40]<b[40]");
else printf("a[40]=b[40]");
}
【解惑】C語言中為什么兩個字符串不能直接進行比較?
大家都知道,在C語言中兩上字符串是不能直接進行比較的,我們一般使用<string.h>中的字符串比較函數strcmp()來進行兩個字符串的比較。那么,為什么不允許兩個字符串直接進行比較呢?可做如下解釋: 這個應該可以追溯到C語言中 數組(字符串也可認為是數組)的訪問機制 |