인 것을 찾을 수 없으면 k = 0이됩니다. 그것은 k = 0.8가 아니어야합니까? 코드에 어떤 문제가 있습니까?이 코드를 컴파일 한 후 오류가
#include <stdio.h>
#include <math.h>
void main()
{
int x=8;
int y=10;
int m=6;
float k;
k=x/y;
printf("k=%f",k);
}
인 것을 찾을 수 없으면 k = 0이됩니다. 그것은 k = 0.8가 아니어야합니까? 코드에 어떤 문제가 있습니까?이 코드를 컴파일 한 후 오류가
#include <stdio.h>
#include <math.h>
void main()
{
int x=8;
int y=10;
int m=6;
float k;
k=x/y;
printf("k=%f",k);
}
타입 캐스팅이 더 유용하고 간단 할 것입니다.
int x=8;
int y=10;
int m=6;
float k;
k=(float)x/y;
printf("k=%f",k);
당신이 float
에 분할의 결과를 할당하고 있지만은, 결과 자체는 정수로 계산됩니다. 이는 두 피연산자 모두가 int
유형이기 때문입니다.
이 문제를 해결 여러 가지 방법이 있습니다 - 예를 들어, 다음과 같이, 제수로 나누어 다음 k
에 배당을 할당하고, 기준 :
int x=8;
int y=10;
int m=6;
float k = x;
k /= y;
printf("k=%f",k);
int/int = int. –
때문에 코드를 암시 적으로 변환하기 때문에 실수를 정수로 변환하기 때문에 다음과 같이 수정하십시오.'k = (float) x/(float) y; printf ("k = % g", k);' – Raindrop7