Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การใช้ %n ใน printf() คืออะไร?


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