标题:请帮忙解答一下
只看楼主
灬未来
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-373926-1-1.html




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

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