먼저이 인스턴스에서 malloc을 사용하는 것이 좋지 않습니다. 나는 당신은 당신의 함수에서 루프 본체와의 malloc을 변경해야문자열이 아무것도 표시되지 않습니다
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//function to remove n number of characters from replicated string
char* remove_beginning(int n, char a[], int size)
{
int i;
char *p=malloc(size-(1+n));
for(i = n ;i < size-1; i++)
{
p[i] = a[i];
}
return p;
}
int main(){
char *str = "123456789";
char *second = remove_beginning(5, str, strlen(str));
printf("%s\n", second);
return 0;
}
어떤 방식으로 작동하지 않습니까? –
아무것도 인쇄하지 않습니다 – Stumbler
나는 p [i]가 p [i-n]이어야한다고 생각합니다. 또한 마지막에 null을 잊지 마십시오. – imran