
	                	                 
vsprintf 함수는 정수 값을 출력할 때 소수점까지 출력하지 않습니다. 이는 %d 형식이 정수 값을 출력하기 때문입니다. 정수 값은 소수점이 없는 값을 의미하므로 소수점까지 출력하지 않습니다.
정수 값을 소수점까지 출력하고 싶다면 %f 형식을 사용해야 합니다. 
예를 들어, 코드는 다음과 같습니다.
#hostingforum.kr
c
#include 
int main() {
    int num = 10;
    char str[100];
    vsprintf(str, "%.1f", &num);
    printf("%sn", str);
    return 0;
}
이 코드를 컴파일하고 실행하면 \"10.0\"이 출력됩니다. %.1f 형식은 소수점 첫 번째 자리까지 출력합니다.
또한, 정수 값을 소수점까지 출력하고 싶다면 float 형식으로 변환해야 합니다.
#hostingforum.kr
c
#include 
int main() {
    int num = 10;
    float float_num = (float)num;
    char str[100];
    vsprintf(str, "%.1f", &float_num);
    printf("%sn", str);
    return 0;
}
이 코드를 컴파일하고 실행하면 \"10.0\"이 출력됩니다.
vsprintf 함수의 format string에 %d 형식 지정 시 정수 값이 소수점으로 표현되는 문제를 해결하기 위해서는 정수 값을 소수점까지 출력하고 싶은 형식을 사용하거나 정수 값을 float 형식으로 변환해야 합니다.
2025-05-30 22:00