본문 바로가기

C

C# 프로그래밍-나눗셈의 형변환, 오류, 수정

 

 

 

 

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