| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1157 人关注过本帖
标题:菜鸟的菜问题:关于比较函数strcmp
只看楼主 加入收藏
撒哈拉沙漠
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-8-10
收藏
 问题点数:0 回复次数:5 
菜鸟的菜问题:关于比较函数strcmp

这是谭老师书上的一个例题,关于比较函数strcmp的,我写了一下,编译运行时,我输入asdasdasfaf,结果是st1<st2.
我有些不明白这个strcmp比较函数是怎样比较出那个结果的,另外程序中那个静态可不可以去掉,还有,如何让编译器可以连续编译多次,最后,看看我写的程序规不规范。请指教,TY.

#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(void)
{
int k;
static char st1[15];
char st2[]="c language";
printf("Input a string:\n");
gets(st1);
k=strcmp(st1,st2);
if(k==0)
printf("st1=st2\n");
if(k>0)
printf("st1>st2\n");
if(k<0)
printf("st1<st2\n");
getch();
}

[此贴子已经被作者于2007-9-19 20:31:39编辑过]

搜索更多相关主题的帖子: strcmp 函数 
2007-09-19 20:13
zrgong
Rank: 1
等 级:新手上路
帖 子:95
专家分:0
注 册:2007-6-26
收藏
得分:0 
strcmp 对st1,st2进行无符号比较,从第一个字符开始,按字符顺序对两个串进行比较,直到对应字符不相同或者达到串尾为止

2007-09-19 20:26
zrgong
Rank: 1
等 级:新手上路
帖 子:95
专家分:0
注 册:2007-6-26
收藏
得分:0 
那个静态在这里没有什么意义,可以去掉

2007-09-19 20:27
撒哈拉沙漠
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-8-10
收藏
得分:0 

好的,谢谢lS的朋友。。。

另外,那个格式是否规范?
还有主要的就是编译器的编译次数怎么调?

2007-09-19 21:26
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
int i_strcmp(char *str1,char *str2)
{
int i=0;

while(str1[i]!='\0'&&str2[i]!='\0')
{
if(str1[i]<str2[i])
return -1;
if(str1[i]>str2[i])
return 1;
i++;
}
if(i<strlen(str1))
return 1;
if(i<strlen(str2))
return -1;
else
return 0;
}

[此贴子已经被作者于2007-9-20 10:44:33编辑过]


只有想不到,没有做不到
2007-09-20 10:40
zhuxian01001
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-2-1
收藏
得分:0 
ls的不错!
2010-02-01 23:00
快速回复:菜鸟的菜问题:关于比较函数strcmp
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037942 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved