标题:哎 。纠结啊 ,搞不定啊,大神们帮帮忙啊!!!!!!!!
只看楼主
吴小杰
Rank: 3Rank: 3
来 自:。。。。。。
等 级:论坛游侠
帖 子:58
专家分:107
注 册:2011-11-11
结帖率:100%
已结贴  问题点数:15 回复次数:18 
哎 。纠结啊 ,搞不定啊,大神们帮帮忙啊!!!!!!!!
# include <stdio.h>//这是自定义strcmp和strcat   
#include <string.h>
int main()
{
    char str[2][20];
    int strcm(str1,str2);
    char strca(str1,str2);
    int i;
    for(i=0;i<2;i++)
        gets(str[i]);
    if(strcm(str[1],str[2])>0)
      strca(str[2],str[1]);
    else
        strca(str[1],str[2]);
    return 0;
}
int strcm(str1[],str2[])//就是这里出现问题显示错误expected ')' before '[' token  
{
  int n,a,b,i;
  a=strlen(str1);
  b=strlen(str2);
  if(a==b)
     for(i=0;i<a;i++)
     {
         if(str1[i]==str2[i]&&i==a-1)
             n=0;
         if(str1[i]>str2[i])
             n=1;
         if(str1[i]<str2[i])
             n=-1;
     }
  else
      for(i=0;i<=a;i++)
          {
              if(str1[i]>str2[i])
                  n=1;
              if(str1[i]<str2[i])
                  n=-1;
    return n;
}

  char strcm(str1,str2)
  {
      int n,a,b,i;
      a=strlen(str1);
      b=strlen(str2);
    for(i=a,n=0;i<a+b;i++,n++)
        str1[i]=str2[n];
  return (str1);

  }
搜索更多相关主题的帖子: expected include return before 
2011-11-21 16:50
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:2 
函数定义不对

总有那身价贱的人给作业贴回复完整的代码
2011-11-21 18:13
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:2 
基本概念不清,还是多看看书吧.

★★★★★为人民服务★★★★★
2011-11-21 18:54
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
得分:2 
如果你要自定义的话,函数要申明,再者你肿么定义了两个strcm函数?
2011-11-21 19:08
吴小杰
Rank: 3Rank: 3
来 自:。。。。。。
等 级:论坛游侠
帖 子:58
专家分:107
注 册:2011-11-11
得分:0 
下面一个写错了  是strca    那这个该怎么改 呢
2011-11-21 22:18
duanlt8
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:70
专家分:107
注 册:2011-9-15
得分:2 
发这种比较长的, 最好带上注释,  懒得去猜你是怎么想的.
2011-11-22 01:27
吴小杰
Rank: 3Rank: 3
来 自:。。。。。。
等 级:论坛游侠
帖 子:58
专家分:107
注 册:2011-11-11
得分:0 
# include <stdio.h>>//这是自定义strcmp和strcat   主要是后面的函数定义不对
#include <string.h>
int main()
{
    char str[2][20];
    int strcm(str1,str2);
    char strca(str1,str2);
    int i;
    for(i=0;i<2;i++)
        gets(str[i]);
    if(strcm(str[0],str[1])>0)
      strca(str[1],str[0]);
    else
        strca(str[0],str[1]);
    return 0;
}
int strcm(str1[],str2[])//显示错误expected ')' before '[' token      当字符串长度相等的时候,比较字符的大小,   当字符串长度不相等的时候,则按其中的一个字符串的长度进行比较 ,比较到一个字符串的\0的位置,
 
{
  int n,a,b,i;
  a=strlen(str1);
  b=strlen(str2);
  if(a==b)
     for(i=0;i<a;i++)
     {
         if(str1[i]==str2[i]&&i==a-1)
             n=0;
         if(str1[i]>str2[i])
             n=1;
         if(str1[i]<str2[i])
             n=-1;
     }
  else
      for(i=0;i<=a;i++)
          {
              if(str1[i]>str2[i])
                  n=1;
              if(str1[i]<str2[i])
                  n=-1;
    return n;
}

  char strca(str1,str2)//将两个字符串拼接在一起
  {
      int n,a,b,i;
      a=strlen(str1);
      b=strlen(str2);
    for(i=a,n=0;i<a+b;i++,n++)
        str1[i]=str2[n];
  return (str1);

  }
2011-11-22 12:35
飞扬冲天
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:122
注 册:2011-10-21
得分:2 
回复 7楼 吴小杰
数组长度本来就不包括\0的啊没必要a-1,再说,比较数组大小也不能这样比啊……
2011-11-22 12:50
吴小杰
Rank: 3Rank: 3
来 自:。。。。。。
等 级:论坛游侠
帖 子:58
专家分:107
注 册:2011-11-11
得分:0 
那该怎么改呢
2011-11-22 13:04
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:2 
char strca(str1,str2)
你的函数参数str1,str2是什么数据类型呢?
概念问题,好好读书吧。悲剧了。

我们都在路上。。。。。
2011-11-22 13:14



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




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

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