เหตุใดจึงใช้ %c ในการเขียนโปรแกรม C

Hetu Di Cung Chi C Ni Kar Kheiyn Porkaerm C



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

เหตุใดจึงใช้ %c ใน C

เช่นเดียวกับภาษาโปรแกรมอื่น ๆ C มีไวยากรณ์ตายตัวที่ต้องปฏิบัติตามเพื่อสร้างโปรแกรม ไวยากรณ์พื้นฐานของ C คือผู้ใช้ต้องรวม ไฟล์ส่วนหัว C อันดับแรกได้แก่ และ . จากนั้นกำหนดฟังก์ชั่นหลักซึ่งล้อมรอบรหัสหลักของโปรแกรมทั้งหมด:

#รวม
นานาชาติ หลัก ( เป็นโมฆะ ) {
}







และใช้คำสั่งพิมพ์เพื่อแสดงผลลัพธ์ ตัวอย่างเช่น มาลองพิมพ์จดหมายกัน เค เป็นเอาต์พุตและใช้คำสั่งที่เขียนด้านล่างภายในฟังก์ชันหลัก:



พิมพ์ฉ ( '%d' , 'เค' ) ;



ในผลลัพธ์ คุณจะเห็นสิ่งนั้นแทนตัวอักษร เค ตัวเลขจะแสดงเป็นเอาต์พุต สับสน?





ทีนี้มาทำความเข้าใจกับแนวคิดที่ว่าเหตุใดจึงต้องพิมพ์ตัวเลขแทนตัวอักษร เค ดังนั้น คำตอบก็คือ คอมพิวเตอร์เป็นเครื่องที่ทำงานเกี่ยวกับตัวเลข ดังนั้น อักขระหรือตัวอักษรแต่ละตัวจะมีหมายเลขเครื่องที่เทียบเท่ากัน (รหัส ASCII) สำหรับคอมพิวเตอร์นั้น ตัวอย่างเช่น; ในตัวอย่างข้างต้น หมายเลขเทียบเท่าเครื่องสำหรับ เค เป็น 107 . หากผู้ใช้ใช้ %d ด้วยอักขระโปรแกรมจะแสดงรหัส ASCII ของอักขระ ไม่ใช่อักขระดั้งเดิม



ชอบ %d , %ค ใช้เพื่อแสดงอักขระดั้งเดิม ตอนนี้ให้เรียกใช้คำสั่งด้านบนเดียวกันเพื่อพิมพ์ เค เพียงแค่แทนที่ %d กับ %ค ดังที่แสดงด้านล่าง:

พิมพ์ฉ ( '%ค' , 'เค' ) ;

ตอนนี้ในผลลัพธ์ คุณจะเห็นได้อย่างชัดเจนว่าแทนที่จะเป็นตัวเลข ตัวอักษร เค พิมพ์เอง. ดังนั้นเมื่อใดก็ตามที่ผู้ใช้ต้องการพิมพ์ตัวอักษรก็สามารถใช้ได้ %ค ภายในคำสั่งพิมพ์ เดอะ %ค แสดงถึง 'อักขระ' และแจ้งคอมไพเลอร์ว่าต้องการเอาต์พุตอักขระ:

การใช้ %c ในอาร์เรย์

ทีนี้มาพิมพ์อาร์เรย์อักขระโดยใช้ %ค ด้วยคำสั่งพิมพ์ ในโปรแกรมด้านล่าง ฉันได้กำหนดอาร์เรย์ของ 9 ตัวอักษรและฉันต้องการพิมพ์องค์ประกอบอาร์เรย์ที่แน่นอนเหล่านี้ทีละรายการ เพื่อที่ฉันได้ใช้ a สำหรับลูป ซึ่งภายใน พิมพ์ฉ คำสั่งที่มีอยู่พร้อมกับ %ค :

#รวม
#รวม
นานาชาติ หลัก ( เป็นโมฆะ ) {

ถ่าน อาร์เรย์ [ ] = { 'ล' , 'ฉัน' , 'น' , 'ใน' , 'เอ็กซ์' , 'ชม' , 'ฉัน' , 'น' , 'ท' } ;

สำหรับ ( นานาชาติ x = 0 ; x < 9 ; x ++ ) {
พิมพ์ฉ ( '%ค' , อาร์เรย์ [ x ] ) ;
พิมพ์ฉ ( ' \n ' ) ;
}
}

หลังจากรันโปรแกรม คุณจะเห็นว่าเอาต์พุตแสดงอักขระทีละตัว:

ตอนนี้ให้โปรแกรมเหมือนเดิมและแทนที่ %ค กับ %d ภายในคำสั่ง printf และสังเกตความแตกต่างของผลลัพธ์:

#รวม
#รวม
นานาชาติ หลัก ( เป็นโมฆะ ) {

ถ่าน อาร์เรย์ [ ] = { 'ล' , 'ฉัน' , 'น' , 'ใน' , 'เอ็กซ์' , 'ชม' , 'ฉัน' , 'น' , 'ท' } ;

สำหรับ ( นานาชาติ x = 0 ; x < 9 ; x ++ ) {
พิมพ์ฉ ( '%d' , อาร์เรย์ [ x ] ) ;
พิมพ์ฉ ( ' \n ' ) ;
}
}

ตอนนี้ในเอาต์พุต คุณจะเห็นได้เพียงแค่เปลี่ยน %ค, เอาต์พุตมีการเปลี่ยนแปลงอย่างสมบูรณ์ แทนที่จะเป็นอักขระ รหัส ASCII จะแสดง:

บทสรุป

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