Friday, April 9, 2010

[C code] if in C

ไปอ่านเจอมาจาก stackoverflow (แต่จำกระทู้ไม่ได้เลยไม่ได้ทำลิงค์ไป) เห็นมีคนมาถามว่าเวลาเขียน if เปรียบเทียบตัวแปรกับตัวเลข เขียนแบบนี้มันดีกว่ายังไง

if(4 == i)

งงดิครับ ตั้งแต่เกิดมาไม่เคยเห็นครูบาอาจารย์ที่ไหนบอกว่าเขียนแบบนี้มันดีกว่า ไอ้คนตั้งกระทู้มันก็ไม่รู้ไปได้ยินมาจากไหน แต่ก็มีคนเข้ามาตอบให้ได้ว่าดีกว่ายังไง
โค้ดแบบนี้จะดีกว่าเฉพาะในภาษาซีเท่านั้นครับ เพราะว่าเป็นการลดบั๊กจากการพิมพ์ผิด เพราะว่าในภาษาซีถ้าเราตั้งใจจะเปรียบเทียบค่าโดยพิมพ์แบบนี้

if(i == 4)

เป็น

if(i = 4)

จะได้ว่า if นี้เป็นจริงเสมอ (ส่วนจาวาจะคอมไพล์ไม่ผ่าน) ดังนั้นพอเขียนกลับกัน ถึงเขียนผิดเป็น

if(4 = i)

คอมไพเลอร์ก็จะฟ้องขึ้นมา
แหม่ ไอ้คนคิดวิธีเขียนโค้ดแบบนี้มันสุดยอดจริงๆ

1 comment:

Unknown said...

เพิ่งกระจ่าง สุดยอดด