| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8103 人关注过本帖
标题:写一个函数,将两个字符串连接,,这样写,哪错了
只看楼主 加入收藏
幸福最晴天
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-11-25
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:4 
写一个函数,将两个字符串连接,,这样写,哪错了
#include <stdio.h>
#include <stdlib.h>

{
  void fac(char a[10],char b[10],char c[10]);
  int i,j;
  gets(a);
  gets(b);
  fac(a,b,c);
  for(i=0;i<20;i++)
  printf("%c",c[i]);
}
  void fac(char a[10],b[10],c[10]);
  {
      int i,j;
      while(a[i]='\n')
     {
         c[i]=a[i];
          i++;
     }
     while(b[j]!='\n')
     {
         c[i]=b[j];
         i++;
         j++;
      }

  }
搜索更多相关主题的帖子: void include 字符串 
2012-12-08 00:26
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:7 
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()    //这里是没粘贴好么?
{
    void fac(char a[10],char b[10],char c[20]);
    //int i;    主函数没用到 j,另外我用了puts,所以i也不用了
    char a[10], b[10], c[20];    //a, b, c还未定义怎么使用?
    gets(a);
    gets(b);
    fac(a,b,c);
//    for(i=0;i<20;i++)            //c的长度小于20时,后面的也输出?
//        printf("%c",c[i]);
    puts(c);                     //用puts更方便
    return 0;                    //
}
void fac(char a[10], char b[10], char c[20])//c长度是20,参数类型要全写,几个逗号可不行,而且函数后不能有‘;’的
{
    int i = 0, j = 0;            //i和j要初始化
    while(a[i]!='\0')            //这里少写了‘!’
    {
        c[i]=a[i];
        i++;
    }
    while(b[j]!='\0')            //输入的回车符并未存入数组,gets自动给他加了一个结束符‘\0’
    {
        c[i]=b[j];
        i++;
        j++;
    }
    c[i] = '\0';                //用puts的话,给c加个结束符
}


[fly]存在即是合理[/fly]
2012-12-08 02:28
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:7 
问题多多

1 while(a[i]='\n')? 应该改成!= 吧,同时要保证 最后一个字符为'\0',不是'\n' 而是 '\0'
2 没有main函数
3 没有定义 数组 a b c
4 void fac函数后面多了个分号
5 fac 的参数写错了,后面两个没有带上类型

#include <stdio.h>
#include <stdlib.h>

void main()
{
    void fac(char a[10],char b[10],char c[10]);

    char a[10], b[10],c[10];
    int i;
    gets(a);
    gets(b);
    fac(a,b,c);
    for(i=0;i<20 && c[i] != '\0';i++)  {
        printf("%c",c[i]);
    }
}
void fac(char a[10],char b[10],char c[10])
{
    int i = 0,j = 0;
    while(a[i]!='\0')
    {
        c[i]=a[i];
        i++;
    }
    while(b[j]!='\0')
    {
        c[i]=b[j];
        i++;
        j++;
    }

    c[i] = '\0';
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-08 02:36
ren1375342
Rank: 2
等 级:论坛游民
帖 子:33
专家分:46
注 册:2012-12-4
收藏
得分:7 

如果您想找一份编写软件的工作, 则首先您应该能够回答 "是" 的一个问题就是:"请问,您会使用c吗?"
2012-12-08 11:21
幸福最晴天
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-11-25
收藏
得分:0 
谢谢各位
2012-12-08 22:21
快速回复:写一个函数,将两个字符串连接,,这样写,哪错了
数据加载中...
 
   



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

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