| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
找出三个字符串中的最小者 
#include<stdio.h> 
#include<string.h> 
int main(){ 
    char str[20],s[3][20]; 
    int i; 
    for(i=0;i<3;i++) 
       gets(s[i]); 
    if(strcmp(s[0],s[1])<0) 
       strcpy(str,s[0]); 
    else 
       strcpy(str,s[1]); 
    if(strcmp(s[2],str)<0) 
       strcpy(str,s[2]); 
    printf("最小字符串是:\n%s\n",str); 
} 
 
第十三行if(strcmp(s[2],str)<0),如果改成if(strcmp(str,s[2])<0)就错了,为什么不能改成if(strcmp(str,s[2])<0)?
返回一个整数表示两个字符串的大小关系: 
 
返回值       含义 
< 0             字符串 1 的字符小于字符串 2 对应位置的字符 
0                两个字符串的内容完全一致 
> 0             字符串 1 的字符大于字符串 2 对应位置的字符  
str与s[2]放前后位置不同,反回值也不同,再与<0比较,当然就错了
  
 
 
 |   
 
 
 
 |