การใช้ if ?else ?ในภาษาซี
ในบทความนี้จะพูดถึงการใช้ if , else if, else ในบทความเดียวเพื่อลดเวลาในการเรียนรู้เรื่องการตัดสินใจเงื่อนไขในภาษาซีซึ่งรูปแบบการใช้ if else ในภาษาซีนั้นจะดูเหมือนกับในภาษาต่างๆที่พัฒนามาจากภาษาซี ซึ่งถ้าเข้าใจการตัดสินเลือกเงื่อนไขการใช้ if else ในภาษาซีนั้นจะทำให้สามารถเข้าใจการใช้ if else ในภาษาที่พัฒนามาจากภาษาซีได้เร็วขึ้น ซึ่งเราก็มาดูตัวอย่างการใช้ if, else if, else ในภาษาซีดีกว่า
[sourcecode language=”c”]
//by thaicoding.net
#include
int main(){
int num;
printf(“Enter number”);
scanf(“%d”, &num);
if(num == 20)
printf(“if case %d\n”, num);
else if(num == 30)
printf(“else if case %d\n”, num);
else
printf(“else case $d\n”, num);
return 0;
}
[/sourcecode]
จากผลลัพธ์จะเห็นในการรับค่าเพื่อมาเก็บในตัวแปร num แล้วมาตรวจสอบตามเงื่อนไข if , else if, else แบ่งออกเป็น 3 กรณีคือเท่ากับ 20, 30 , และนอกเหนือจากนี้ในหนังสือส่วนใหญ่มักจะสอน if , if else, if else if แต่ในความเป็นจริงแล้วมันก็เป็นเรื่องเดียวกัน คือ if จะเป็นกรณีและที่ถูกตรวจสอบแล้ว else if จะเป็นกรณีต่อมาสุดท้ายถ้าไม่ตรงกลับกรณีใดก็จะทำ else และมีเรื่องควรระวังก็คือถ้า เขียน if หลายๆอันมันจะตรวจสอบทุกอันแต่ถ้าเป็น if , else if มันจะหยุดตรวจสอบกรณีอื่นเมื่อเจอกรณีที่ตรงแล้วเช่น
[sourcecode language=”c”]
if (num = =20)
printf(?if 1?);
if(num == 30)
print(?if 2?);
[/sourcecode]
แต่ถ้าเป็น if else if ดังตัวอย่างจะตรวจสอบในกรณีที่ตรงเท่านั้นเช่นเมื่อ num = 20 ก็ทำในกรณีนั้นกรณีอื่นจะไม่ทำแล้วและถ้าเป็น if หลายๆๆอันมันจะตรวจสอบทุก if นั้นเอง