求解一个简单的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码差值
}
但是输出上有错误 为什么呢 ? :( 展开
#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码差值
}
但是输出上有错误 为什么呢 ? :( 展开
展开全部
楼主,你好,你的函数定义有问题,在主函数里需要有你定义函数的声明;我帮你修改了一下代码,你看看可以不?
#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);
}
#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);
}
展开全部
对比函数得在主函数之前定义否则的话就要在主函数之前进行函数声明才有效
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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字符串中相同的字符 希望对你有帮助
//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字符串中相同的字符 希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询