문자열 함수 질문이요...
일본드립
질문 제목 : 문자열 함수 질문입니다~!질문 내용 :
간단한 예의 코드로
#includestdio.h
#includestring.h
int main()
{
char arr1[100]=good morning?;
char arr3[100];
char *token;
token=strcpy(arr3, arr1);
printf( %s, token);
return 0;
}
이러할때요...
저걸 실행하면 good morning? 하면서 잘나오거든요...그런대 이상한게 strcpy 함수는 문자의 길이를 반환하는 함수라고
알고있는데 문자의 길이를 반환한것을 token 에 대입시키고 printf함수 %d로 출력하면 문자열 길이가 나오고 맞는거같습니다
근대 %s로 받았을땐 또 문자열이 나오는거죠... strcpy 함수가 문자열의길이를 반환한다는건 return 값에 문자열길이 계산한것을
넣은거라는 말인대 왜 왜 왜!!! %s로 받는다고 문자열이 나오면 뭐입니까...이상합니다 왜그러죠!? ㅠㅠ 알려주세용 ㅠㅠ
한마디로... strcpy 의 정체가 궁금합니다...
문자열길이 반환이란놈이 %s로받는다고 문자열이 나오고...혹시 뭐 주소값을 어떻게해서 한건가...?라고 혼자서 생각해보지만
답을 낼수가없으니 답답합니다 ㅠ...
-
흙이랑
제 설명에도있듯이...printf %d로 받으면 문자열길이 출력되구요...네 그렇습니다...됩니다...
-
마호
문자열 길이는 strlen 임
-
agine
....strcpy가 문자열 길이를 반환한다는건 첨알았는데
strcpy는 문자열 복사로 알고있었음.