ในภาษา C %n เป็นตัวระบุรูปแบบพิเศษ มันทำให้ printf() โหลดตัวแปรที่ชี้โดยอาร์กิวเมนต์ที่เกี่ยวข้อง การโหลดเสร็จสิ้นด้วยค่าที่เท่ากับจำนวนอักขระที่พิมพ์โดย printf() ก่อนการเกิด %n
หมายเหตุ - มันไม่ได้พิมพ์อะไร ฟังก์ชัน printf() อื่นใช้เพื่อพิมพ์คำสั่ง
นี่คือตัวอย่าง %n ในภาษา C
ตัวอย่าง
#include<stdio.h> int main() { int s; printf("The value of %ns : ", &s); printf("%d", s); getchar(); return 0; }
ผลลัพธ์
The value of s : 13
แม้ว่าเราจะให้ค่ากับตัวระบุ มันจะไม่พิจารณาค่าที่เราได้รับ โดยจะนับอักขระที่ใช้ก่อนการใช้ %n ในคำสั่ง จะไม่นับ %n เป็นอักขระ
นี่คือตัวอย่างหากเราส่งผ่านค่า
ตัวอย่าง
#include<stdio.h> int main() { int s; int m = 28; int val; printf("The value of %ns and %nm %nval : ", &s, &m, &val); printf("%d\t%d\t%d", s, m, val); return 0; }
ผลลัพธ์
The value of s and m val : 131921