| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 284 人关注过本帖
标题:请帮忙解答一下
只看楼主 加入收藏
灬未来
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2012-7-20
结帖率:100%
收藏
 问题点数:0 回复次数:4 
请帮忙解答一下
#include<stdio.h>
#include<string.h>
char string_search(char s[],char c[])
{ int i;
i=strcmp(s,c);表示不理解,比较函数没有指定的条件 这些代码是怎么知道我要进行那些比较的?
if(i==1)return 1;
else return 0;
}
void main()
{
    char s[10],c[2];
    gets(s);
    gets(c);
    printf("%d",string_search(s,c));
}
运行结果是 输入字符串S和C  字符串S中含有字符串C中的字符时输入1否则输出0 但我不了解红色字体的那部分代码  请解释一下
搜索更多相关主题的帖子: return 字符串 include 
2012-07-23 12:15
westfall999
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:40
专家分:101
注 册:2012-7-22
收藏
得分:0 
strcmp原型不是这样么:extern int strcmp(const char *s1,const char * s2);
从左到右用于比较两个串s1与s2的大小,只要遇到第一个字母不相同,则若s1中的字母大于s2中的字母,则返回>0,若相等则返回=0,若小于则返回<0.
也就是返回值是两个字母的ASCII码值的差,所以返回值不一定是1,用if(i==1) return 1;一般情况下会失效,最好用:
if(i>0) return 1;
else
if(i<0) return -1;
else return 0;
2012-07-23 15:09
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:0 
strcmp()函数在比较时会返回的值有三种情况>0、=0、<0
2012-07-24 08:58
a7882669
Rank: 4
等 级:业余侠客
帖 子:192
专家分:290
注 册:2012-4-17
收藏
得分:0 
2楼
2012-07-24 10:22
jarryjsq
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:45
专家分:124
注 册:2011-7-11
收藏
得分:0 
2楼,是对的
2012-07-24 10:24
快速回复:请帮忙解答一下
数据加载中...
 
   



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

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