ในภาษา 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