두 문자열을 연결하는 코드는 다음과 같습니다. 처음에는 조건이 작동하지만 for 루프에서는 두 번째 것이 실패합니다. 나는 아래 입력들과 함께 그들을 독립적으로 운영했다.두 문자열을 C 언어로 연결하는 방법
int original[100]="c" , add[50] = "pgm";
concatenate_string(original, add);
printf("String after concatenation is \"%s\"\n", original);
//strcat(original,add);
//printf("strcat is : %s",original);
void concatenate_string(char *original, char *add)
{
while(*original)
original++;
while(*add)
{
*original = *add;
add++;
original++;
}
*original = '\0';
}
void strcat(char *original,char *add)
{
for (;*original++;);
for (;*add;)
*original++=*add++;
*(original)='\0';
}
참고 : 피할 수'* (원본) = '\ 0'; '두 번째 함수에서 가리키고 그냥 쓸 수 있습니다 :'에 대한 (* 원래 ++ = * ++ 추가)' –
두 번째 버전 사용 그런데 예약 된 이름. 사용자 정의 함수 이름은'str'로 시작할 수 없습니다. – unwind