Функция копирования - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Второй день изучаю Си, не могу понять, что я делаю не так! О существовании strcpy, но ради практики написал свою.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void StrCopy(char *,char *);
 
int main()
{
char *p2="Hello";
char p1;
 
StrCopy(&p1,p2);
 
printf("%s",p1);
 
return 0;
}
 
void StrCopy(char *p1,char *p2)
{
    int i;
    i=0;
    while (*(p2+i))
        {
            (*(p1+i))=(*(p2+i));
            i++;
        }
}
Подскажите, пожалуйста, что не так.

Решение задачи: «Функция копирования»

textual
Листинг программы
/* strcpy example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str1[]="Sample string";
  char str2[40];
  char str3[40];
  strcpy (str2,str1);
  strcpy (str3,"copy successful");
  printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
  return 0;
}

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы