inflearn logo
강의

Khóa học

Chia sẻ kiến thức

(Mới nhất 2026!) Vượt qua kỳ thi thực hành Kỹ sư xử lý thông tin chỉ trong một tuần

Khai báo và xuất biến

d

3

happwhy

9 câu hỏi đã được viết

0

image.png

c언어에서 int에 소수를 대입 후 출력하라고 하면 소수점을 버리니까 3으로 출력된다는 이해했는데요

왜 아래에서는 이상한 값이 나온다는건지, 그리고 %d에서 d가 의미하는게 뭔지 모르겠어요

python java c 정보처리기사 정보처리산업기사

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 가보자고님.

이미지에서 설명하고 있는 내용은 C와 Java에서의 정수형(int)과 실수형(float) 변수의 차이점을 다루고 있습니다.

C 언어의 경우:

  • int a = 3.4; 의 경우: C 언어에서 int 타입 변수는 정수 값을 저장하기 때문에, 3.4int 변수에 대입하면 소수점 이하가 버려지고 3 이 저장됩니다.
  • float b = 3.4; 에 대해서도 언급할 필요가 있는데, C에서는 소수점 값을 float 또는 double 타입의 변수에 저장할 수 있습니다. 하지만 float b = 3.4; 의 경우 컴파일러에 따라 3.4f; 로 명시해야 할 수도 있습니다.

Java의 경우:

  • int a = 3.4;int 타입에 실수 값을 직접 대입할 수 없으므로 컴파일 에러가 발생합니다. Java는 타입이 엄격하여 이러한 타입 불일치를 바로잡아야 하기 때문입니다.

printf()의 사용과 %d의 의미:

  • C 언어에서 printf 함수는 자동으로 데이터 타입에 맞춰 출력할 포맷을 사용자에게 요구합니다.
  • %dprintf() 함수에서 정수를 출력할 때 사용하는 포맷 명령어입니다. int 변수의 값을 문자열로 변환하여 출력합니다.

C 언어에서는 기본적으로 변수가 가질 수 있는 값의 타입에 따라서 데이터를 처리합니다. 따라서 int 타입 변수는 항상 정수로만 값이 처리되어 입력 소수점은 버려집니다. 실행 환경이나 컴파일러의 설정에 따라서 정상적이지 않은 값이 발생할 수 있으니, 타입 간 명시적인 변환(casting)을 통해 처리하는 것이 좋습니다.

다음의 링크를 통해 유사한 질문을 확인하시고 이해를 깊이하는 데 도움이 되길 바랍니다:
- C와 Java에서의 정수형 변수와 소수형 변수

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

출력값

0

4

1

(기출) 2023년 3회 코드해석 문제의 1:10입니다.

0

10

2

23년도 2회 c언어 0:03 n[(i+6)%5] 도 가능한건가요?

0

9

2

정처기 질문

0

21

2

자식 기본 생성자 출력 조건

0

13

2

부모 및 자식 기본생성자 호출

0

16

2

포인터 16강 9:44

0

16

1

6강 17:50

0

22

2

6강 11:37

0

23

2

08:30 이중포인터 질문

0

22

1

6강 5:15

0

30

1

5강 5:45

0

21

2

전체적으로 답을 먼저 알려주지 마세요..

0

31

2

업캐스팅 문제 예시 5

0

49

2

(기출) 2025년 2회 이론 파트

0

43

2

26년 1회실기

0

54

2

강의 자료

0

44

2

27:15 break 출력

0

41

2

55강 파이썬에만있는 연산자들

0

40

2

55강의 파이썬에서만 있는 연산자들

0

32

2

29강 5:00

0

36

2

띄어쓰기

0

45

2

공부 순서

1

64

2

재귀함수 연산법

0

36

2