19컴공
156
2019-10-07 10:44:04 작성 2019-10-07 10:44:38 수정됨
4
146

C언어 코드 도움 좀 부탁드립니다ㅠㅠ


문제의 코드인데 결과값이 

0, 32

10, 42

20, 52

30, 62

40, 72

50, 82

이렇게 나오더라구요.

자동형변환되어서 결과값이 이와같이 나온게 맞나요?

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int c, f;
c = 0;

do{
f = c * (9/5) + 32;
printf("%d, %d \n",c, f);
c = c + 10;
} while(c < 51);

return 0;
}        /
0
0
  • 답변 4

  • kenu
    45k
    2019-10-07 10:50:33

        f = c * (9/5) + 32;

    -->
        f = (c * 9/5) + 32;

    이렇게 하셔야 할 것 같은데요.

    0
  • 19컴공
    156
    2019-10-07 10:53:19

    kenu 

    상관없지 않나요??

    *가 + 보다 계산순위가 더 높으니까..

    0
  • fx
    1k
    2019-10-07 10:56:33

    해보시면 차이가 있을 것입니다.

    또는 아래처럼


    f = c * (9.0/5) + 32;

    (9/5) 의 계산값이 정수로 바뀌면서 1.8 값이 1 되어서 그렇습니다.
    1
  • 19컴공
    156
    2019-10-07 11:56:42

    fx

    감사합니다!

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.