2016-08-26 4 views
-3

최근에 C를 배우기 시작했고 기본 사항을 이해 한 후에 배웠던 것을 구현하기 시작 했으므로 add, subtract 등과 같은 기본적인 수학 연산을 수행하려고합니다. 배당 연산자가 작동하지 않습니다. 내가 두 가지 다른 값을 줄 때마다 그 답은 0.00000입니다. 오류를 이해하는 데 도움주세요. 여기 내 코드가 있습니다.divison 연산자를 사용하는 코드가 작동하지 않습니다.

#include<stdio.h> 
void main() 
{ 
    int a,b,c,d,e; 
    float f = 0; 
    clrscr(); 
    printf("enter the values of a, b\n"); 
    scanf("%d %d", &a, &b); 
    c = a + b; 
    d = a - b; 
    e = a * b; 
    f = a/b; 
    printf("%d\n %d\n %d\n %f\n", c, d, e, f); 
    getch(); 
} 
+5

이 제목을 사용하지 마십시오 반면, ** 나누기 연산자는 **, 그럼 어떻게 우리가 프로그램을 작성 할 작동하지 않습니다 0 같다? –

+0

입력 하시겠습니까? 실제 출력? 예상 결과? – 4386427

+2

에 [좋은 책] (http://stackoverflow.com/q/562303/253056)을 가져와 ** 정수 나누기 **에 대해 읽어보십시오. –

답변

0

당신은이

f = (float) a/(float) b; 

물론 체크 b != 0의 작업을 수행 정수를 나누고 결과로 부동 소수점 값을 기대할 수 없다. ab이 정수이기 때문에

경우에만 자동적으로 도움이되지 않습니다 floatf을 선언, 그 결과로 정수를 기대할 수 있습니다 참조하십시오. 예를 들어

1/2 

1.0/2 == 1/2.0 == 1.0/2.0 != 0