其实就是先比较两个字符串的第一个字符的ascII码的大小,因为‘1’比‘a’大,所以就输出字符串a
在代码if(a>b)printf("%s\n",a);里,a和b都是字符串的首地址,即第一个字符的地址
字符数组不是这样比较的,我改了改,如下:
#include
#include
void main()
{
char a[]="123",b[]="abcd";
if(strcmp(a,b)==0)printf("%s\n",a); //如果两个字符数组相等则strcmp(a,b)==0
else printf("%s\n",b);
}
这样比较是错的,你这样比较就是a数组和b数组的的首地址对应的整数比较,可以这样输出a,b地址对应的整数;#include
int main()
{
char a[]="123",b[]="abcd";
if(a>b) printf("%s\n",a);
else printf("%s\n",b);
printf("a=%d b=%d\n",a,b);
}
及果是a的<b的;