| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3607 人关注过本帖
标题:两个字符串连接程序
只看楼主 加入收藏
语言呆子
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2009-4-12
结帖率:83.33%
收藏
 问题点数:0 回复次数:12 
两个字符串连接程序
两个字符串连接程序
代码如下:
main()
{
  int i=0;
  char a[]="abc",b[]="defg",c[80],*p,*q;
   *p=a;
   *q=b;
   while(*p++!='\0')
   {
      c[i]=*p;
      i++;
    }
    while(*q++!='\0')
    {
      c[i]=*q;
      i++ ;
    }
    c[i]='\0';
    for(i=0;i<=80;i++)
    printf("%c",c[i]);
    getch();
}

各位大侠帮我看看了,哪里出了问题了,谢谢,急
搜索更多相关主题的帖子: 字符 
2009-10-11 22:06
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
*p=a;
*q=b;
错了。

strcat这个函数就可以做你要做的。

要练习算法就来http:///!!有挑战哦!!
2009-10-11 22:17
语言呆子
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2009-4-12
收藏
得分:0 
回复 2楼 viky2003
不用strcat函数了,谢谢哈
2009-10-11 22:23
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
把你的程序改了一下,你看看有哪些地方不同吧:
程序代码:
#include<stdio.h>
main()
{
    int i = 0, j;
    char a[] = "abc", b[] = "defg", c[80], *p, *q;
    p = a;
    q = b;
    while (*p != '\0') {
        c[i] = *p++;
        i++;
    }
    while (*q != '\0') {
        c[i] = *q++;
        i++;
    }
    c[i] = '\0';
    for (j = 0; j <= i; j++)
        printf("%c", c[j]);
    puts("");
}

2009-10-11 22:23
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
main()
{
  int i=0;
  char a[]="abc",b[]="defg",c[80],*p,*q;
   p=a;
   q=b;
   while(*p!='\0')
   {
      c[i]=*p;
      i++;
      p++;
    }
    while(*q!='\0')
    {
      c[i]=*q;
      i++ ;
      q++;
    }
    c[i]='\0';
    for(i=0;c[i]!='\0';i++)
    printf("%c",c[i]);
    getch();
}
2009-10-11 22:26
语言呆子
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2009-4-12
收藏
得分:0 
回复 4楼 广陵绝唱
为什么答案abcdefg后面还有一群乱码,是怎么回事了
2009-10-11 22:29
GONES
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2007-6-18
收藏
得分:0 
我这没看到乱码。。。。。。
2009-10-11 22:47
语言呆子
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2009-4-12
收藏
得分:0 
我把上面的代码运行没呀,但我的代码运行了,就是答案后面有乱码了
代码如下:
#include <stdio.h>
main()
{
  int i=0;
  char a[]="ab",b[]="cd",c[80],*p,*q;
  p=a;
  q=b;
  while(*p!='\0')
  {
     c[i]=*p++;
     i++;
  }
  while(*q!='\0')
  {
     c[i]=*q++;
     i++;
  }
  c[i]='\0';
  for(i=0;i<=80;i++)
    printf("%c",c[i]);
    getch();
 
}
望大侠们帮我看看了,怎么答案后面有乱码了
2009-10-11 22:55
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
你的数组实际赋值只有 5 个字符,而你的输出却输出 81 个未赋值的字符,能没有乱码么?你或者 puts(c); 也可以。
2009-10-11 23:30
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
for(i=0;c[i]!='\0';i++)

参与切磋是美德,每天回帖即可获得10分可用分!
2009-10-11 23:36
快速回复:两个字符串连接程序
数据加载中...
 
   



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

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