fbpx
วิกิพีเดีย

ความผิดพลาดโดยการคลาดเคลื่อนไปหนึ่ง

ความผิดพลาดโดยการคลาดเคลื่อนไปหนึ่ง เป็นความผิดพลาดทางตรรกะในการเขียนโปรแกรม เกิดจากเงื่อนไขในการออกจากวงวนไม่ถูกต้อง ทำให้มีการทำงานในวงวนมากกว่าหรือน้อยกว่าที่ควรจะเป็น 1 ครั้ง ส่วนมากมีสาเหตุจากการที่ใช้เครื่องหมาย "มากกว่า", "มากกว่าหรือเท่ากับ" หรือ "น้อยกว่า", "น้อยกว่าหรือเท่ากับ" สลับกัน นอกจากนี้ความผิดพลาดนี้ยังอาจเกิดขึ้นในการทำงานกับคณิตศาสตร์ได้อีกด้วย

ความผิดพลาดจากการดำเนินการในวงวน

พิจารณาการทำงานในวงวนที่เริ่มต้นจากค่า m ไปถึง n หากวิเคราะห์ไม่ละเอียดอาจจะได้ว่าจำนวนรอบในการทำงานมีทั้งหมด n - m รอบ อย่างไรก็ดี คำตอบที่แท้จริงคือ n - m + 1 รอบ

for(i = 2; i < 8; ++i){  // body of the loop } 

เริ่มต้น ค่า i จะมีค่าเป็น 2 และค่อย ๆ เพิ่มขึ้นไปเรื่อย ๆ เป็น 3 4 5 6 จนกระทั่งมาถึง 7 ก็ยังพบว่ายังเข้าเงื่อนไขที่ i < 8 อยู่ ดังนั้นจึงมีการทำงานอีกรอบ จนสุดท้าย i = 8 ซึ่งพบว่าไม่เข้าเงื่อนไขแล้วเพราะ i ไม่น้อยกว่า 8 แล้ว จึงทำให้วงวนจบลบ การทำงานทั้งหมดจึงเริ่มต้นตั้งแต่ i = 2 ... 7 และสุดท้ายมีค่า i = 8 ตัวเลขที่ขอบของวงวนทั้งหมดอาจจะเกิดข้อผิดพลาดได้ทุกที่หากไม่ระวัง

ความผิดพลาดแบบ Fence post

ความผ, ดพลาดโดยการคลาดเคล, อนไปหน, เป, นความผ, ดพลาดทางตรรกะในการเข, ยนโปรแกรม, เก, ดจากเง, อนไขในการออกจากวงวนไม, กต, อง, ทำให, การทำงานในวงวนมากกว, าหร, อน, อยกว, าท, ควรจะเป, คร, วนมากม, สาเหต, จากการท, ใช, เคร, องหมาย, มากกว, มากกว, าหร, อเท, าก, หร, อยกว,. khwamphidphladodykarkhladekhluxniphnung epnkhwamphidphladthangtrrkainkarekhiynopraekrm ekidcakenguxnikhinkarxxkcakwngwnimthuktxng thaihmikarthanganinwngwnmakkwahruxnxykwathikhwrcaepn 1 khrng swnmakmisaehtucakkarthiichekhruxnghmay makkwa makkwahruxethakb hrux nxykwa nxykwahruxethakb slbkn nxkcaknikhwamphidphladniyngxacekidkhuninkarthangankbkhnitsastridxikdwykhwamphidphladcakkardaeninkarinwngwn aekikhphicarnakarthanganinwngwnthierimtncakkha m ipthung n hakwiekhraahimlaexiydxaccaidwacanwnrxbinkarthanganmithnghmd n m rxb xyangirkdi khatxbthiaethcringkhux n m 1 rxb for i 2 i lt 8 i body of the loop erimtn kha i camikhaepn 2 aelakhxy ephimkhuniperuxy epn 3 4 5 6 cnkrathngmathung 7 kyngphbwayngekhaenguxnikhthi i lt 8 xyu dngnncungmikarthanganxikrxb cnsudthay i 8 sungphbwaimekhaenguxnikhaelwephraa i imnxykwa 8 aelw cungthaihwngwncblb karthanganthnghmdcungerimtntngaet i 2 7 aelasudthaymikha i 8 twelkhthikhxbkhxngwngwnthnghmdxaccaekidkhxphidphladidthukthihakimrawngkhwamphidphladaebb Fence post aekikhswnnirxephimetimkhxmul khunsamarthchwyephimkhxmulswnniid ekhathungcak https th wikipedia org w index php title khwamphidphladodykarkhladekhluxniphnung amp oldid 4704433, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม