求解一个简单的C语言程序

我自己编写的一个比较两个字符串大小的函数不知道错误在哪劳烦高手看看:)#include<stdio.h>main(){chars[100],t[100];gets(s);... 我自己编写的一个比较两个字符串大小的函数 不知道错误在哪 劳烦高手看看 :)
#include<stdio.h>
main()
{
char s[100],t[100];
gets(s);
gets(t);
compare(s,t);
printf("%d",compare(s,t));
}
compare(s,t) // 对比函数
char *s,*t;
{
for(;*s==*t;s++,t++)
if(*s=='\0') return 0;
return(*s-*t); // 对应的两个字符做差 求得ASC码差值
}

但是输出上有错误 为什么呢 ? :(
展开
 我来答
百度网友973c207
2011-04-17 · 超过17用户采纳过TA的回答
知道答主
回答量:178
采纳率:0%
帮助的人:77.8万
展开全部
楼主,你好,你的函数定义有问题,在主函数里需要有你定义函数的声明;我帮你修改了一下代码,你看看可以不?
#include<stdio.h>
void main()
{
int compare(char *s,char *t);
char s[100],t[100];
gets(s);
gets(t);

printf("%d",compare(s,t));
getch();
getch();
}
int compare(char *s,char *t)
{
for(;*s==*t;s++,t++)
if(*s=='\0') return 0;
return (*s-*t);
}
丰曼容9g
2011-04-16 · TA获得超过126个赞
知道答主
回答量:45
采纳率:0%
帮助的人:40.5万
展开全部
对比函数得在主函数之前定义否则的话就要在主函数之前进行函数声明才有效
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
voidjj520
2011-04-17
知道答主
回答量:32
采纳率:0%
帮助的人:5.9万
展开全部
#include <stdio.h>
//char fun(char *,char *);
void fun(char *p,char *q);
int main()
{
char a[100];
char b[100];
printf("请输入2字符串不得大于100个字符\n");
scanf("%s",a);
scanf("%s",b);
fun(a,b);
return 0;
}
void fun(char *p,char *q)
{ char w[100];
int x=0;
for (int i=0;i<100;i++)
{
if (*p==*q&&*q!='\0')
{
w[x]=*q;
x++;
}
p++;
q++;
if (*q=='\0'||*p=='\0')
{
w[x]='\0';
break;
}
}
printf("%s\n",w);
}
格式上的问题就不说了
看不出来你那程序能比较字符串大小
这是我自己写的 输出2字符串中相同的字符 希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式