Stage 4
รับค่าด้วย scanf
รับค่าจากผู้ใช้ด้วย scanf เข้าใจ & format specifier และข้อผิดพลาดที่พบบ่อย
scanf ใช้รับค่าจากผู้ใช้ โดยต้องระบุ format specifier ให้ตรงกับชนิดตัวแปร เช่น scanf("%d", &age); เครื่องหมาย & ใช้ส่งตำแหน่งหน่วยความจำของตัวแปรให้ scanf นำค่าที่รับไปเก็บ
ตัวแปรทั่วไปเช่น int, float, char ต้องใช้ & แต่ char array หรือ string แบบพื้นฐานมักไม่ต้องใส่ & เช่น scanf("%s", name); เพราะชื่อ array เป็นตำแหน่งเริ่มต้นอยู่แล้ว
ข้อผิดพลาดที่พบบ่อยคือใช้ %d กับตัวแปร float, ลืม &, หรือใส่ข้อความอื่นใน scanf มากเกินไป การรับ char หลังรับตัวเลขอาจติดปัญหา newline ค้างใน buffer ซึ่งต้องระวังในบทต่อไป
ควรแสดงข้อความบอกผู้ใช้ก่อนรับค่า เช่น printf("Enter age: "); เพื่อให้โปรแกรมใช้งานง่าย
ตัวแปรทั่วไปเช่น int, float, char ต้องใช้ & แต่ char array หรือ string แบบพื้นฐานมักไม่ต้องใส่ & เช่น scanf("%s", name); เพราะชื่อ array เป็นตำแหน่งเริ่มต้นอยู่แล้ว
ข้อผิดพลาดที่พบบ่อยคือใช้ %d กับตัวแปร float, ลืม &, หรือใส่ข้อความอื่นใน scanf มากเกินไป การรับ char หลังรับตัวเลขอาจติดปัญหา newline ค้างใน buffer ซึ่งต้องระวังในบทต่อไป
ควรแสดงข้อความบอกผู้ใช้ก่อนรับค่า เช่น printf("Enter age: "); เพื่อให้โปรแกรมใช้งานง่าย
ภารกิจ
เขียนโปรแกรมรับอายุและคะแนนจากผู้ใช้ จากนั้นแสดงผลกลับอย่างเป็นประโยค