再解决楼主两个if内的区别吧
首先要明白strcmp是比较字符串的大小的,使用strcmp时会出来三种结果,第一种是>0,第二种是==0,第三种是<0。你的情况是第二种== 0。等于0说明strcmp里的两个字符是相同的,不管你高级指针的地址,最后取值都是一样的,所以等于0。。也中说法是非0即真,等于0时也是从控制台输入一样的字符串,比如:
if (strcmp(name, "return") == 0) {
break;
}
这种结果是从控制台中输入,name输入一定要和return相同才能停止执行,所以一定输入return,才能是strcmp(name, “return”)== 0
再说if( z[ i ][ 0 ] ==z[ j ][ 0 ] )这个吧!!!
这个没有明确的定义,里面可以放数字,字符,不是比较字符串大小的。字符串大小比较一般都是用strcmp
楼主如果还模糊就关注 http://blog.
我Q 664709704