numA / numB 가 3으로 출력되는 오류를 해결하기 위해서 어떻게 해야할까요?
result 를 int형이 아닌 float형으로 하면 되겠지 라고 생각한다면
틀렸습니다.
result 를 float형으로 바꿨다해도 result는 3.0 을 출력하게 될 것입니다.
나눗셈의 오류를 해결하는 방법 첫번째는 아래와 같습니다.
float numA, numB, result;
numA = 7;
numB = 2;
//자동형변환으로 인해서 numA = 7.0f, numB = 2.0f 로 초기화됨.
result = numA / numB;
print(result);
방법 두번째는 아래와 같습니다. (강제형변환)
int numA, numB;
float result;
numA = 7;
numB = 2;
result = (float)numA / numB;
// result = 7.0f / 2
// result = 7.0f / 2.0f
// result = 3.5f
print(result);
출처 https://youtu.be/_cw4CPPrvjU?list=PL3aflPKr1txL3MdCEAFrwaKUCsiTUcJCk
'C' 카테고리의 다른 글
C# 프로그래밍 - if문 조건문 if/else (0) | 2023.04.19 |
---|---|
의사코드 pseudo code (0) | 2023.04.19 |
C# 프로그래밍-float, 자동형변환, 강제형변환 (0) | 2023.04.18 |
C# 프로그래밍-변수 (0) | 2023.04.18 |
C언어 시작 (0) | 2023.03.27 |