프로그래밍

 3198, 1/160 회원가입  로그인  
   cjswo1234
   문제의 c언어 코드..(함수 관련)

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3518 [복사]


#include<stdio.h>
void func(int a, int b)
{
        int result1, result2, result3;
        float result4;

        result1=a+b;
        result2=a-b;
        result3=a*b;
        result4=a/b;                        

        printf("a + b = %d \n", result1);
        printf("a - b = %d \n", result2);
        printf("a * b = %d \n", result3);
        printf("a / b = %f \n", result4);                 // 이부분에서 문제가 생깁니다.,..
}

int main(void)
{
        int num1, num2;
        printf("입력 : ");
        scanf("%d %d", &num1, &num2);

        func(num1, num2);

        return 0;
}


프로그램을 실행할때, num1에 3, num2에 6을 입력하면, 제가 주석 처리 해놓은 a/b부분에서 결과가
0.500000이 나와야 하는데, 0.000000이 출력됩니다.. 무엇이 문제일까요?

  Hit : 4907     Date : 2012/11/01 08:07



    
rueng564 result4=(float)a/b;

로 코드를 수정해주면 되겠네요.

정수형 변수끼리 연산을 하면 결과가 정수형으로 나오는 것에서 문제가 생긴것같습니다.
2012/11/01