^"
>#001p#"<>:#,_@#1-8*3:-1*57+55-1*79*57:-1:*77**278\-1:*57$p:1: error: declaration expected
ลองออนไลน์!: Befunge-93 , C
ขอบคุณ randomdude999 สำหรับการสังเกตว่าชื่อไฟล์นั้นต้องใช้เครื่องหมายคำพูดที่ตรงกัน
จะต้องถูกบันทึกไว้ภายใต้ชื่อไฟล์^"\n>#001p#"<>:#,_@#1-8*3:-1*57+55-1*79*57:-1:*77**278\-1:*57$p
ที่ไหน\n
เป็นบรรทัดใหม่ ด้วยเหตุนี้ TIO สำหรับ C จึงไม่ทำงานตามที่ตั้งใจ ผ่านการทดสอบการทำงานบน Lubuntu
คำอธิบาย (C):
โปรแกรมไม่สามารถคอมไพล์และ tcc ส่งเอาต์พุตชื่อของไฟล์อย่างมีความสุขซึ่งเป็นส่วนหนึ่งของข้อความแสดงข้อผิดพลาด มีข้อผิดพลาดในการรวบรวมหลายครั้งที่คุณจะได้รับซึ่งขึ้นอยู่กับจุดเริ่มต้นของรหัส ^
ในช่วงเริ่มต้นจะช่วยให้เราdeclaration expected
ซึ่งเป็นระยะสั้นและไม่ได้มีตัวละครที่มีปัญหาใด ๆ "
เช่น ในทางกลับกันนักพัฒนา gcc และ clang นั้นมองโลกในแง่ร้ายมากและพวกเขาเลือกที่จะส่งออกข้อผิดพลาดหลายครั้งพร้อมกันซึ่งไม่ดีมากดังนั้นเราจึงไม่ได้ใช้คอมไพเลอร์
คำอธิบาย (Befunge-93):
Befunge สะดวกสำหรับการทดสอบว่ารหัสของมันยังสามารถใช้เป็นข้อมูลตัวอักษรได้ด้วย"
คำสั่งซึ่งสลับโหมดสตริง ในตอนแรกเราทำการดำเนินการสแต็กที่ไร้ประโยชน์แล้วออกp
(คำสั่ง put) ซึ่งวางอักขระ NUL ที่ (0, 1) จากนั้นเราสะท้อนตัวชี้คำแนะนำไปทางซ้ายและเริ่มอ่านทุกอย่างเป็นสตริง สิ่งนี้จะต้องทำทางด้านซ้ายเนื่องจากลักษณะของ LIFO ของสแต็ก หลังจากล้อมรอบและเข้าถึง"
ตัวละครอีกครั้งสตริงก็จะจบลง โปรดทราบว่าตัวละคร NUL แทนที่$
ตัวอักษรการสร้างตัวคั่นกึ่งกลางผ่านสตริง จากนั้นเรากดตัวเลข 3 หมายเลขลงบนสแต็กและกระโดดข้าม NUL (เพราะน่าเสียดายที่ล่ามเมื่อทำงานตามคำแนะนำ) ส่วนที่คงที่ของข้อผิดพลาดจะต้องมีการดำเนินการที่นี่ อักขระส่วนใหญ่ไม่มีตัวเลือก แต่คำสั่ง (ป๊อปและละทิ้ง) จากนั้นจะทำการคำนวณทางคณิตศาสตร์บางอย่างเพื่อส่งรหัส ASCII ให้p
คำสั่งใช้อาร์กิวเมนต์สามตัว (เหตุใดเราจึงใส่ 3 ตัวเลขมิฉะนั้นส่วนหนึ่งของสตริงจะถูกกินที่นี่) และ:
& 1
อักขระจะส่งค่าทั้งหมด 4 ค่าไปยังสแต็กซึ่งเราตอบโต้ ด้วยคำสั่ง a p
และ aและในที่สุดก็วนพิมพ์ออกมาเป็นค่าทั้งหมดในกองเป็นตัวอักษรจนกว่าจะพบตัวละคร NUL และยุติ$
^"\n>#001p#"