สมมติว่าเรามีเลขจำนวนเต็มสองตัว a, b และเลขทศนิยมสองตัว c, d เราจะต้องหาผลบวกของ a กับ b กับ c กับ d เราก็ต้องหาผลบวกของ a กับ c เหมือนกัน ดังนั้น ผลลัพธ์อาจแตกต่างกันไปตามรูปแบบฟังก์ชัน printf
ดังนั้น หากอินพุตมีค่า a =5, b =58 c =6.32, d =8.64 ผลลัพธ์จะเป็น a + b =63 c + d =14.960001 a + c =11.320000
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ในการพิมพ์ a + b ทั้งคู่เป็นจำนวนเต็ม ดังนั้น printf("%d") จะทำงาน
-
ในการพิมพ์ c + d ทั้งคู่เป็นแบบลอย ดังนั้น printf("%f") จะทำงาน
ในการพิมพ์ a + c เนื่องจากตัวหนึ่งเป็นจำนวนเต็มและอีกตัวเป็นจำนวนลอย ดังนั้นเราจะต้องใช้ printf("%f") เพื่อให้ได้ผลลัพธ์ที่ถูกต้อง
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <stdio.h> int main(){ int a = 5, b = 58; float c = 6.32, d = 8.64; printf("a + b = %d\n", a + b); printf("c + d = %f\n", c + d); printf("a + c = %f\n", a + c); }
อินพุต
a = 5, b = 58; c = 6.32, d = 8.64;
ผลลัพธ์
a + b = 63 c + d = 14.960001 a + c = 11.320000