数组比较,要比较它的内容的而不是直接比较它的变量(这个是地址)你s1与s2直接比较,因为s1比s2先定义,s1>s2永远成立的,与你输入的内容没有任何关系的如果你是char s2[100],s1[100];那结果永远是-1所以你程序完全不对以下参考(方法有多种的,而实际库函数用的是指针,更简单、效率更高)int Strcmp(char s1[],char s2[]){int s=0;for(int i=0; s1[i] && s2[i]; i++) {if (s1[i]>s2[i]) {s=1;break;} else {if (s1[i]<s2[i])s=-1;break;}}return s;}