책 내용 질문하기
89페이지 질문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
89
조회수
48
작성일
2017-04-06
작성자
탈퇴*원
첨부파일

ptrcpy(a,b);

에서a가 b의 데이터를 넘겨받아서 같아진다는 설명인가요?

그리고 결과는왜 0으로 나오나요?

답변
2017-04-07 11:15:09

안녕하세요.

strcpy(a, b)는 문자열 b를 문자열 a에 복사한다는 것으로 이후 a와 b는 같은 내용이 됩니다.

strcmp(a, b)는 인수 a와 b 문자열을 비교하여 대소 관계에 따라 값을 반환합니다.

0 반환 : 크기가 같다(즉 동일한 문자열인 경우)

1 반환 : a가 크다

-1 반환 : b가 크다

처음

a에는 "ad"

b에는 "ac"

가 저장되어 있습니다.

각각의 문자들은 아스키코드 값으로 저장되므로 크기 비교가 가능합니다.

알파벳은 앞에서부터 뒤로 갈수록 크기가 커지므로

ad 와 ac를 비교하면 a는 같지만 뒤의 d가 c보다 크므로

결과는 1이 됩니다.

strcpy(a, b)를 수행하면 a와 b의 값이 동일해 지므로

이후 strcmp(a, b)는 0을 반환합니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-04-07 11:15:09

    안녕하세요.

    strcpy(a, b)는 문자열 b를 문자열 a에 복사한다는 것으로 이후 a와 b는 같은 내용이 됩니다.

    strcmp(a, b)는 인수 a와 b 문자열을 비교하여 대소 관계에 따라 값을 반환합니다.

    0 반환 : 크기가 같다(즉 동일한 문자열인 경우)

    1 반환 : a가 크다

    -1 반환 : b가 크다

    처음

    a에는 "ad"

    b에는 "ac"

    가 저장되어 있습니다.

    각각의 문자들은 아스키코드 값으로 저장되므로 크기 비교가 가능합니다.

    알파벳은 앞에서부터 뒤로 갈수록 크기가 커지므로

    ad 와 ac를 비교하면 a는 같지만 뒤의 d가 c보다 크므로

    결과는 1이 됩니다.

    strcpy(a, b)를 수행하면 a와 b의 값이 동일해 지므로

    이후 strcmp(a, b)는 0을 반환합니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.