วิธีใช้ %i และ %d เพื่อพิมพ์จำนวนเต็มใน C โดยใช้ printf()

Withi Chi I Laea D Pheux Phimph Canwntem Ni C Doy Chi Printf



ในภาษาการเขียนโปรแกรม C ตัวระบุรูปแบบมีบทบาทสำคัญเนื่องจากช่วยคุณในการแสดงค่าที่เอาต์พุต ตัวระบุรูปแบบเหล่านี้ใช้กับฟังก์ชัน printf() เพื่อระบุประเภทของข้อมูลที่ต้องการส่งออก หนึ่งในตัวระบุรูปแบบที่ใช้กันอย่างแพร่หลายในภาษาโปรแกรม C ได้แก่ %ฉัน และ %d ซึ่งใช้ในการพิมพ์จำนวนเต็ม

หากคุณไม่ทราบเกี่ยวกับ %ฉัน และ %d ตัวระบุรูปแบบ ให้ทำตามคำแนะนำของบทความนี้

%i ตัวระบุรูปแบบ

ในภาษาซีโปรแกรม, the %ฉัน ใช้สำหรับพิมพ์จำนวนเต็มแบบมีเครื่องหมายเมื่อใช้กับฟังก์ชัน printf() จำนวนเต็มที่มีเครื่องหมายคือจำนวนเต็มบวกหรือลบก็ได้ ในการเขียนโปรแกรมภาษาซี เมื่อใช้ %i ค่าอาร์กิวเมนต์ที่ส่งผ่านต้องเป็นนิพจน์หรือประเภทจำนวนเต็มซึ่งจะประเมินโดยอัตโนมัติในประเภทข้อมูลจำนวนเต็ม คุณยังสามารถใช้ %ฉัน ตัวระบุเพื่ออ่านค่าอักขระที่อยู่ในช่วงของจำนวนเต็มที่มีเครื่องหมาย







%d ตัวระบุรูปแบบ

เดอะ %d ในทางกลับกันตัวระบุรูปแบบใช้เพื่อพิมพ์จำนวนเต็มที่ไม่ได้ลงนามในภาษาโปรแกรม C จำนวนเต็มที่ไม่ได้ลงนามในที่นี้คือจำนวนเต็มบวก ในภาษา C เมื่อคุณใช้ %d ค่าของประเภทอาร์กิวเมนต์ นานาชาติ .



ความแตกต่าง

ทั้งคู่ %ฉัน และ %d ตัวระบุรูปแบบมักใช้ในภาษาการเขียนโปรแกรม C สำหรับการพิมพ์จำนวนเต็ม พวกมันอาจดูคล้ายกันในแง่ของการใช้งานและทำงานเหมือนกันเมื่อใช้ฟังก์ชัน printf()



ตามมาด้วยโค้ดตัวอย่างที่ใช้ตัวระบุรูปแบบทั้งสอง





#รวม

นานาชาติ หลัก ( ) {

นานาชาติ หลัก ;

พิมพ์ฉ ( 'กรุณาใส่ตัวเลขใด ๆ : ' ) ;

สแกน ( '%ฉัน' , & หลัก ) ;

พิมพ์ฉ ( ' \n ตัวเลขคือ: %i \n ' , หลัก ) ;

พิมพ์ฉ ( 'ตัวเลขคือ: %d \n ' , หลัก ) ;

กลับ 0 ;

}

ในโค้ดนี้ ขั้นแรกเราจะเริ่มต้นตัวแปรและรับค่าจากผู้ใช้โดยใช้ scanf() จากนั้นเราจะแสดงผลโดยใช้ %d และ %i .

เอาท์พุต:



ทั้งสองให้ผลลัพธ์ที่คล้ายกันเมื่อใช้กับ พิมพ์f() การทำงาน. ไม่สำคัญว่าคุณจะป้อนค่าบวกหรือค่าลบ ผลลัพธ์จะเหมือนกันเสมอ

อย่างไรก็ตาม หากเราดูที่ฟังก์ชัน scanf เราสามารถแยกความแตกต่างได้อย่างถูกต้อง ในโค้ดด้านบน ถ้าเราใส่ค่าทศนิยม เช่น “012” . ถ้าเราใช้ “%d” แทน %ฉัน, คุณจะได้ผลลัพธ์ 12 เหตุผลก็คือ %d ละเว้นค่าศูนย์ 0 จากอินพุตของผู้ใช้

#รวม

นานาชาติ หลัก ( ) {

นานาชาติ หลัก ;

พิมพ์ฉ ( 'กรุณาใส่ตัวเลขใด ๆ : ' ) ;

สแกน ( '%d' , & หลัก ) ;

พิมพ์ฉ ( ' \n ตัวเลขคือ: %i \n ' , หลัก ) ;

พิมพ์ฉ ( 'ตัวเลขคือ: %d \n ' , หลัก ) ;

กลับ 0 ;

}

เอาต์พุต

หากป้อนค่าเดียวกันโดยใช้ %ฉัน เช่นเดียวกับในฟังก์ชัน scanf() เอาต์พุตจะเป็น 10 ในกรณีนี้ เหตุผลคือ %ฉัน พิมพ์ค่าทศนิยมของ 012 (การแสดงเลขฐานแปด)

#รวม

นานาชาติ หลัก ( ) {

นานาชาติ หลัก ;

พิมพ์ฉ ( 'กรุณาใส่ตัวเลขใด ๆ : ' ) ;

สแกน ( '%ฉัน' , & หลัก ) ;

พิมพ์ฉ ( ' \n ตัวเลขคือ: %i \n ' , หลัก ) ; // เอาต์พุตรองเท้า

พิมพ์ฉ ( 'ตัวเลขคือ: %d \n ' , หลัก ) ; // เอาต์พุตรองเท้า

กลับ 0 ;

}

บทสรุป

ตัวระบุรูปแบบคือรูปแบบที่เริ่มต้นด้วย % เครื่องหมายและมักจะบอกเราว่าข้อมูลประเภทใดที่อยู่ในอินพุตและข้อมูลใดที่จะแสดง %d และ %ฉัน เป็นตัวระบุสองตัวที่ใช้กันอย่างแพร่หลายในการเขียนโปรแกรมภาษาซี ซึ่งจะคล้ายกันเมื่อใช้กับฟังก์ชัน printf() แต่จะแสดงผลต่างกันเมื่อใช้กับฟังก์ชัน scanf()