문자열에서 여러 문자를 추출하여 다른 문자열에 할당하는 함수를 작성하려고합니다.C - 함수에 문자열 작성. 오류 : 예상 표현
코드 : 라인
substring(source[], 4, 3, result[]);
"는 표현을 기대"되는 것을
// Problem 10.4
// String extraction function
#include <stdio.h>
void substring (char source[], int start, int count, char result[])
{
int i;
for (i = 0; i <= count; ++i) {
result[i] = source[start];
}
result[i+1] = '\0';
}
int main (void)
{
void substring (char source[], int start, int count, char result[]);
char source[] = "character", result[80];
int start, count;
substring(source[], 4, 3, result[]);
printf("%s\n", result);
return 0;
}
엑스 코드는 저를 말하고있다 그리고 그것은 나를 컴파일하지 않습니다.
내 함수가 값을 반환하지 않기 때문에 혼란 스럽습니다. 문자열 자체가 문자열이므로 함수 자체에 포인터가 전달되는 것은 아닙니다. 어떤 경우에는 함수에 전달되지 않습니다. 문자열 자체가 수정되고 로컬 복사본이 아니라는 것을 의미합니까? 원래 문자열이 수정되는 경우 왜 값을 반환해야합니까?)
용의자는 구문에 따라 함수에 포인터를 전달하지 않는다는 사실과 관련이 있습니다.
미리 알려 주시면 감사하겠습니다.
첫째, 왜'빈 문자열 (문자 소스 [], INT 시작, INT 수, 문자 결과 [가]) substring (source [], 4, 3, result []); 대신에 main()과 second try'부분 문자열 (source, 4, 3, result);에 대해서 설명한다. – Uroc327
배열과 포인터 : http://pweb.netcom.com/~tjensen/ptr/pointers.htm – millimoose