ต้องการพิมพ์เครื่องหมาย % ด้วยคำสั่ง printf ร่วมกับค่าของตัวแปรด้วยภาษาซี พอรันแล้วเกิดคำเตือนว่า invalid conversion specifier '\xe0' แต่โปรแกรมยังทำงานได้อยู่ แบบนี้ต้องแก้ไขอย่างไร โค้ดบางส่วนตามด้านล่าง
#include <stdio.h>
int main() {
int vat = 7;
printf("สินค้านี้รวม VAT %d% แล้ว", vat);
return 0;
}
วิธีแก้ไข
กรณีต้องการพิมพ์เครื่องหมาย % พร้อมกับค่าของตัวแปร ด้วยคำสั่ง printf ของภาษาซี แนะนำให้ใส่ % 2 ครั้งติดกัน สำหรับการแสดงเครื่องหมาย % 1 อัน จากตัวอย่างแก้ไขเป็น %d%% มีรายละเอียดดังนี้
#include <stdio.h>
int main() {
int vat = 7;
printf("สินค้านี้รวม VAT %d%% แล้ว", vat);
return 0;
}
ผลลัพธ์
สินค้านี้รวม VAT 7% แล้ว