ฝึกเขียนภาษา C ต้องการรับค่าตัวเลขทศนิยม 2 ตำแหน่งจากผู้ใช้งานด้วยคำสั่ง scanf แต่พอรันแล้วขึ้นคำเดือนว่า warning: unknown conversion type character '.' in format [-Wformat=] แบบนี้ต้องแก้ไขอย่างไร
#include <stdio.h>
int main()
{
float number = 0.0f;
printf("Please input number : ");
scanf("%.2f", &number);
return 0;
}
วิธีแก้ไข
กรณีใช้คำสั่ง scanf รับค่าเลขทศนิยมจากผู้ใช้งาน ไม่ต้องกำหนด %.2f ให้กำหนดเพียง %f เท่านั้น %.2f แนะนำให้ใช้สำหรับตอนแสดงผล เช่นใช้งานร่วมกับคำสั่ง printf สามารถแก้ไขโปรแกรมได้ดังนี้
#include <stdio.h>
int main()
{
float number = 0.0f;
printf("Please input number : ");
scanf("%f", &number);
printf("number = %.2f", number);
return 0;
}
ผลลัพธ์
Please input number : 12.3456
number = 12.35