标题:连续gets函数出错问题
只看楼主
情义控灬浮云
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2017-8-3
结帖率:80.95%
 问题点数:0 回复次数:3 
连续gets函数出错问题
大师们帮我看看这边是哪里出错了 ,为什么编译不出来呢。。
#include<stdio.h>
#include<string.h>
char mystrncpy(char *s1,char *s2,int n);
int main()
{
    char *p,*d;
    int i;
    gets(p);
    printf("please enter the  other centence:\n");
    gets(d);
    printf("ok,now please enter the number that you want to copy:\n");
    scanf("%d",&i);
    mystrncpy(p,d,i);
}
char mystrncpy(char *s1,char *s2,int n)
{
    int i;
    if(strlen(s2)<n)
        strcpy(s1,s2);
    else
    {
        for(i=0;i<strlen(s2);i++)
            s1[strlen(s1)+i]=s2[i];
        s1[strlen(s1)+i]='\0';
    }
    puts(s1);
}
搜索更多相关主题的帖子: gets 出错 char int strlen 
2017-10-31 02:07
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
    char *p,*d;
    gets(p);
    gets(d);
未定义,这样试试:
    char p[256],d[256];
    gets(p);
    gets(d);
2017-10-31 05:11
情义控灬浮云
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2017-8-3
得分:0 
回复 楼主 情义控灬浮云
这样运行的话 后面只会复制1个字节。。。
2017-10-31 16:51
情义控灬浮云
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2017-8-3
得分:0 
回复 2楼 吹水佬
这样运行的话只会复制一个字位。。。。。。。
2017-11-01 00:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481962-1-1.html




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

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