• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

24.05.29 03:43 작성 조회수 77

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() 함수등을 이용해 값을 복사해야 합니다.

참고하시기 바랍니다. 😄

키루룰님의 프로필

키루룰

질문자

2024.05.29

감사합니다 !!

채널톡 아이콘