永发信息网

C语言编程实现strcpy函数

答案:4  悬赏:0  手机版
解决时间 2021-03-03 11:11
#include
int main()
{
char str1[100],str2[100];
int i=0;
gets(str1);
gets(str2);
while(str1[i]==str2[i]&&str1!='\0')
i++;
if(str1[i]=str2[i])
return 0;
if(str1[i]>str2[i])
return 1;
if(str1[i] return -1;
return 0;
}
最佳答案
#include
void strcpy(char *p[],char *p1[])
{
    int i;
    i=strlen(p);
    for(int m=0;m     {
        if(p[i]!='\0')
        {
        p1[i]=p[i];
        }
        eles break;
    }
     if(strlen(p1)!=0)
     for(int n=0;n      {
         printf("%c",p1[i]);
     }
}

int main()
{
    char *a[100];
    char *b[100];
    gets(a);
    strcpy(b,a);
    return 0;
}完成从a拷到b里面
全部回答
#include  #include  void strcpy_t(char *p,char *p1) { int i,m,n; i=strlen(p); for(m=0;m
  • 2楼网友:拾荒鲤
  • 2021-03-02 21:24
刚刚搬完砖,来看看你这道题。一看之下,一堆吐槽啊! 首先强烈批评!为啥要把个经典的strcpy的参数顺序要搞颠倒了?看的忒不爽! 然后你这是在求教呢还是考广大网友呢?如果说有错,你怎么不把错误现象贴出来? 以我看,你这程序估计是没跑死,可能是出乱码了? 没跑死的都不是问题,你就这样安慰自己吧。 顺便说一句,那个while循环有点问题,会导致出现你不希望看到的情况,自己检查一下那个判断的边界条件。 为了让你清晰看到那个错误,不多改,在while循环后边加一句吧: *str1 = '\0'; 还有,那个printf显然是会输出乱码的。加点儿悬赏分再问吧,码农都不容易……
  • 3楼网友:孤老序
  • 2021-03-02 20:27
char* my_strcpy(char* desc,const char* src) {     char* tmp = desc;     if(src == NULL || desc == NULL)         return NULL;     int i = 0;     while (*(desc + i) = *(src + i))         i++;     return tmp; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯