인프런 커뮤니티 질문&답변

키루룰님의 프로필 이미지
키루룰

작성한 질문수

독하게 시작하는 C 프로그래밍

[필수 실습 문제] 연령별 버스요금 계산

연령별 버스 요금 계산 (문자열 선언 및 출력 질문)

해결된 질문

작성

·

135

0

안녕하세요. 불철주야 고생 많으십니다!

 

해당 예제의 최종 출력 결과물에 "성인", "영유아" 등의 문자열을 추가로 반영하고 싶습니다.


초기 변수 선언 :

int age = 0, fee = 1000;

double rate = 0.0;

char[32] = { 0 };

 

조건문 :

name = "성인"

....

 

최종 결과물은 다음과 같이 나타냈습니다.

printf("나이: %d, %s, 요금: %.0f", age, name, fee*rate);


위와 같이 진행했을때 문자열 관련한 오류가 뜹니다.

도움 받고 싶습니다. 감사합니다!

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

제가 컴파일러라면...name은 알 수 없는 식별자 라는 오류를 낼 것 같습니다. 😄

다만 추정해보면 name은 char[]이거나 char*일 것으로 보입니다. 만일 name이 배열이라면 name = "성인";은 잘못된 코드입니다. 배열의 이름은 주소 상수이며 l-value가 될 수 없기 때문입니다. 그러므로 단순 대입연산자를 이용할 것이 아니라 memcpy() 혹은 strcpy_s() 함수등을 이용해 값을 복사해야 합니다.

참고하시기 바랍니다. 😄

키루룰님의 프로필 이미지
키루룰
질문자

감사합니다 !!

키루룰님의 프로필 이미지
키루룰

작성한 질문수

질문하기