C语言字符串的比较问题
找出三个字符串中的最小者#include<stdio.h>
#include<string.h>
int main(){
char str,s;
int i;
for(i=0;i<3;i++)
gets(s);
if(strcmp(s,s)<0)
strcpy(str,s);
else
strcpy(str,s);
if(strcmp(s,str)<0)
strcpy(str,s);
printf("最小字符串是:\n%s\n",str);
}
第十三行if(strcmp(s,str)<0),如果改成if(strcmp(str,s)<0)就错了,为什么不能改成if(strcmp(str,s)<0)? 你修改第 13 行代码的意图是什么?a - b 和 b - a 的结果能一样吗? jackz007 发表于 2021-12-14 23:00
你修改第 13 行代码的意图是什么?a - b 和 b - a 的结果能一样吗?
我想搞清楚strcmp(字符串1,字符串2),字符串1和字符串2在不同位置代表的含义或者说用法有什么不同。我的理解是strcmp是对字符串进行比较的,假如字符串1比字符串2小,strcmp(字符串1,字符串2)与strcmp(字符串2,字符串1)所得到的结果应该是一样的啊? 返回一个整数表示两个字符串的大小关系:
返回值 含义
< 0 字符串 1 的字符小于字符串 2 对应位置的字符
0 两个字符串的内容完全一致
> 0 字符串 1 的字符大于字符串 2 对应位置的字符
str与s放前后位置不同,反回值也不同,再与<0比较,当然就错了
1163028233 发表于 2021-12-14 23:06
我想搞清楚strcmp(字符串1,字符串2),字符串1和字符串2在不同位置代表的含义或者说用法有什么不同。我的 ...
如果一样的话,那你告诉我,你如何判断是字符串1大还是字符串2大?
页:
[1]