inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

함수와 재귀함수 (v2)

17. 함수와 재귀함수(v2) / 0:30:57 / return 명령어 중 double 자료형 관련 문의

해결된 질문

55

태0

작성한 질문수 12

0

안녕하세요.

avgArray 함수 선언 코드블록 마지막 명령어가 return(double)sum/size; 인데요.

double 자료형에 괄호를 붙이는 이유가 뭔가요?

sum과 size 자료형이 모두 int여서 그런거라면 혹시 괄호를 생략해도 되나요?

그리고, (double) 뒤에 띄어쓰기가 없어서 조금 헷갈렸는데, 자료형 뒤에 띄어쓰기를 안해도 상관 없나요?

python java c 정보처리기사

답변 2

0

주말코딩

안녕하세요,

저렇게 표기한 이유는 문제에서 출력값을 소수점 형태로 출력하고 싶었기 때문입니다.

모두 int인 경우에는 소수점 이하가 표시되지 않고 버림처리 됩니다.

소수로 표기하고 싶을 때는 값 전체는 double (소수형태)로 변환해야합니다.

 

이를 자료형 캐스팅이라고 부릅니다. (자료형을 바꾼다.)

바꾸고 싶은 자료형을 앞에다가 (자료형) 이렇게 쓰면 됩니다.

 

저 문제는 출력을 소수점 2자리까지 출력하라는 문제를 내고 싶어서 저렇게 표기한 것입니다.

 

주의할 점은 %.3f, %2f와 같이 몇 번째 자리수까지 표기해야하는 지는 그 전 자리수에서 "반올림"처리 합니다.

 

그러니까 출력값이 56.20라면 56.195였을 수도 있고 56.201 이었을 수도 있습니다.

 

괄호는 절대 생략하면 안됩니다. 꼭 (double)로 써야 정상적으로 캐스팅되며, 띄어쓰기는 하셔도 됩니다. (double)sum이나 (double) sum이나 똑같습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 태0님.

태0님의 질문에 대한 답변을 드립니다. C 언어에서 (double)과 같은 형식은 캐스팅(casting)이라고 하며, 특정 표현식의 타입을 명시적으로 변환하기 위해 사용됩니다.

(double) 캐스팅의 이유

  • return (double)sum / size; 코드에서 (double)sumsum 값을 double 타입으로 변환하여 이후 계산 결과가 부동소수점 연산이 되도록 합니다.
  • sumsize가 둘 다 int 형태이기 때문에 그대로 나누기를 수행하면 정수 나누기로 처리되어 소수점 이하의 값이 손실될 수 있습니다. 이 문제를 방지하기 위해 sum을 먼저 double로 변환하여 정확한 결과를 얻도록 합니다.

괄호 생략 가능 여부

  • 괄호를 생략하면 sum / size가 정수 나누기로 취급되며, 이 경우 소수점 이하가 제거된 값이 결과가 됩니다. 따라서 원하는 값을 얻기 위해선 괄호를 반드시 사용해야 합니다.

띄어쓰기 관련

  • (double) sum에서 띄어쓰기는 선택사항입니다. 즉, (double)sum 또는 (double) sum 모두 의미상 동일합니다. 그러나 코드의 가독성을 위해 일반적으로 띄어쓰기를 권장합니다.

추가 참고 링크

이와 관련하여 더 깊이 있는 정보를 얻고자 하신다면 다음과 같은 질문을 참고하실 수 있습니다:
- C언어에서의 형 변환 (Casting) 사용 방법 - 형 변환에 대한 더 상세한 예제를 볼 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

42

2

26년 1회 실기 해설 강의

0

59

2

53번 4-1 자료 오류 있는 것 같습니다.

0

72

2

7번문제

0

59

2

C언어 변형문제 9번문제 Pdf 수정요청

0

47

2

메서드 오버드라드

0

47

2

실수

0

46

1

공부 우선순위 우선강의 알려주세요

0

88

1

생성자 호출순서 강의 10번 문제 30분대 질문입니다

0

48

2

25년 2회 기출 5:40 질문입니다.

0

42

2

모의고사1회 3번 파이썬문제

0

74

2

C언어 출제변형 6번 문제

0

50

2

c언어 출제변형 강의 질문

0

31

2

28:40

0

33

2

C :  언어 배열과  문자열 수업자료

0

29

2

파이썬 리스트, 딕셔너리 질문

0

42

2

모의고사 관련 질문 건

1

69

3

자료 내용 오류

0

64

2

정적 변수, 정적 메서드(static) v2

0

48

2

v1.2 와 v0.91 PDF

0

101

1

업캐스팅 (부모형태, 자식생성자)

0

51

2

정보처리산업기사 준비중입니다.

0

74

2

실기 D -6

0

105

2

(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다

0

57

3