| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 459 人关注过本帖
标题:做了一个函数,把第二个字符串覆盖第一个字符串,但是有问题。
取消只看楼主 加入收藏
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:3 
做了一个函数,把第二个字符串覆盖第一个字符串,但是有问题。
做了一个函数,把第二个字符串覆盖第一个字符串,但是有问题。如果第二个字符串比第一个长,那么输出结果后面有乱码。如果两个字符串一样长,那么只有第一个字符被覆盖。
程序代码:
#include <stdio.h>
#include <string.h>
#define SIZE 81
char *cpy (char *psx, char *psy);

int main (void)
{
    char str1[SIZE];
    char str2[SIZE];
    char* ps1;
    char* ps2;
   

    printf ("Enter firse string:\n");
    ps1 = gets (str1);
    printf ("Enter second string:\n");
    ps2 = gets (str2);
    cpy (ps1, ps2);
   

    puts (ps1);
   

    system ("pause");
    return 0;
}

char *cpy (char *psx, char *psy)
{
    int i = 0;
    if (strlen (psx) > strlen (psy))
    {
        while (psx[i] != '\0')
        {
            psx[i] = psy[i];
            i++;
        }
    }else if (strlen (psx) < strlen (psy))
    {
        while (psy[i] != '\0')
        {
            psx[i] = psy[i];
            i++;
        }
    }else
    {
        while (psx[i] != '\0')
        {
            psx[i] = psy[i];
            i++;
        }
    }
    return psx;
}



[此贴子已经被作者于2015-11-12 10:31编辑过]

搜索更多相关主题的帖子: 字符串 字符串 
2015-11-12 10:27
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
还有一个问题,notepadd++昨天更新的,我设置的默认语言是C,但是“另存为”的时候不会存成.c文件,而是无后缀的,怎么解决?
2015-11-12 10:29
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
回复 3楼 wp231957
如果第一个输入“abc”,第二个字符串输入“123456”,输出“123456”加几个乱码。

如果第一个输入“123456”,第二个字符串输入“abc”,输出“abc”一切正常。

如果第一个输入“123”,第二个字符串输入“abc”,输出“a23”只有a覆盖了1,但是bc没有覆盖23。
2015-11-14 08:27
ilsoviet1917
Rank: 2
等 级:论坛游民
帖 子:103
专家分:26
注 册:2010-5-11
收藏
得分:0 
回复 5楼 TonyDeng
请问怎么改?
2015-11-14 16:31
快速回复:做了一个函数,把第二个字符串覆盖第一个字符串,但是有问题。
数据加载中...
 
   



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

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