| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1263 人关注过本帖
标题:用c语言表示字符串连接
只看楼主 加入收藏
小人儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-10-31
结帖率:33.33%
收藏
 问题点数:0 回复次数:2 
用c语言表示字符串连接
编写程序,从键盘输入两个字符串,并将两个字符串连接起来,连接的结果放入第一个字符串中,并输出到屏幕。不能使用strlen()和strcat()函数。
提示:
1.    字符串输入到字符数组中储存,假设字符数组分别为str1和str2;
2.    输入带空格字符串,应使用(填空)函数。
3.    首先使用循环计算str1的长度,接着在str1‘\0’处开始复制str2的内容,遇到‘\0’结束,但是,不能忘了新字符串末尾补充‘\0’;
4.    如果str1字符数组长度不够,要输出错误提示。
谢谢大神们了! 本人C语言初学者 可不可以用一些简单的函数。
搜索更多相关主题的帖子: 连接 c语言 字符 字符串 函数 
2019-11-19 19:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
3.    首先使用循环计算str1的长度,接着在str1‘\0’处开始复制str2的内容,遇到‘\0’结束,但是,不能忘了新字符串末尾补充‘\0’;
4.    如果str1字符数组长度不够,要输出错误提示。

程序代码:
#include <stdio.h>

char* mystrcat( char* restrict dest, size_t destsize, const char* restrict src )
{
    char* p = dest;
    for( ; *p; ++p );

    for( ; p<dest+destsize-1 && *src; )
        *p++ = *src++;
    *p = '\0';

    return *src ? NULL : dest;
}

int main( void )
{
    {
        char a[9] = "abc";
        char b[] = "12345";
        if( mystrcat(a,sizeof a,b) )
            printf( "结果是: %s\n", a );
        else
            puts( "空间不足" );
    }

    {
        char a[8] = "abc";
        char b[] = "12345";
        if( mystrcat(a,sizeof a,b) )
            printf( "结果是: %s\n", a );
        else
            puts( "空间不足" );
    }
}

2019-11-20 09:19
小人儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-10-31
收藏
得分:0 
回复 2楼 rjsp
好多看不懂能不能简化一些
2019-11-21 19:17
快速回复:用c语言表示字符串连接
数据加载中...
 
   



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

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