| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 392 人关注过本帖, 1 人收藏
标题:这个程序编译没问题,这个程序是把两个字符串相连的可是为什么运行的时候, ...
只看楼主 加入收藏
酱油王
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-3-10
结帖率:75%
收藏(1)
 问题点数:0 回复次数:3 
这个程序编译没问题,这个程序是把两个字符串相连的可是为什么运行的时候,后一个字符串的的第一个字符显不出来,求高手指导。

#include<stdio.h>
#include<string.h>
void main()
{
    void link(char a[],char b[]);
    char a[80],b[40];
    printf("please input string a:\n");
    scanf("%s",a);
    printf("\n");
    printf("please input string b:\n");
    scanf("%s",b);
    printf("\n");
    link(a,b);
    printf("\n");
}
void link (char a[],char b[])
{
    int i=0,j=0;
    while (a[i]!='\0')
    {
        i++;
    }
    while (b[j]!='\0')
    {     j++;
        a[i++]=b[j];
    }
    printf("%s",a);
}


[ 本帖最后由 酱油王 于 2012-3-26 22:02 编辑 ]
搜索更多相关主题的帖子: void include please 字符串 
2012-03-26 21:53
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:0 
#include<stdio.h>
#include<string.h>
void main()
{
    void link(char a[],char b[]);
    char a[80],b[40];
    printf("please input string a:\n");
    scanf("%s",a);
    printf("\n");
    printf("please input string b:\n");
    scanf("%s",b);
    printf("\n");
    link(a,b);
    printf("\n");
}
void link (char a[],char b[])
{
    int i=0,j=0;
    while (a[i]!='\0')
    {
        i++;
    }
    while (b[j]!='\0')
    {   
        a[i++]=b[j]; //a[i++]=b[j++];j++;就2个J++了
         j++;
    }
    a[i]='\0';//要加结束符
   
    printf("%s",a);
}


[ 本帖最后由 a646404908 于 2012-3-26 22:06 编辑 ]
2012-03-26 22:03
sc3297
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-16
收藏
得分:0 
把j++放后面呢? 你先写j++ 那b[j]不就是b[1]了?  b[0]没有了吧 ,结束符也没有.
#include<stdio.h>
#include<string.h>
void main()
{
    void link(char a[],char b[]);
    char a[80],b[40];
    printf("please input string a:\n");
    scanf("%s",a);
    printf("\n");
    printf("please input string b:\n");
    scanf("%s",b);
    printf("\n");
    link(a,b);
    printf("\n");
}
void link (char a[],char b[])
{
    int i=0,j=0;
    while (a[i]!='\0')
    {
        i++;
    }
    while (b[j]!='\0')
    {     
        a[i++]=b[j];
        j++;
    }
    a[i]='\0';
    printf("%s",a);
}

 

2012-03-27 01:22
Eilliot
Rank: 6Rank: 6
等 级:侠之大者
帖 子:41
专家分:418
注 册:2012-3-26
收藏
得分:0 
没仔细看丶你看看是不是越界了
2012-03-27 07:35
快速回复:这个程序编译没问题,这个程序是把两个字符串相连的可是为什么运行的时 ...
数据加载中...
 
   



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

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