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

อักขระการแปลง printf คืออะไรและประเภทใด


การใช้ printf คือการพิมพ์สตริงที่ไม่มีช่องว่างให้กรอก

ตัวอย่างเช่น

printf ("An ordinary string..");
printf ("Testing 1,2,3...");

กรณีที่ง่ายที่สุดต่อไปที่เคยใช้มาก่อนคือการพิมพ์เลขจำนวนเต็มตัวเดียว

int number = 48;
printf ("%d",number);

ทั้งสองสามารถรวมกันได้ดังแสดงด้านล่าง -

int number = 48;
printf ("Some number = %d",number);

ผลลัพธ์ของตัวอย่างสุดท้ายนี้คือการพิมพ์สิ่งต่อไปนี้บนหน้าจอ −

Some number = 48

นี่คือรายการตัวอักษรต่าง ๆ สำหรับ printf −

  • − จำนวนเต็มเดนารีที่ลงนามแล้ว
  • คุณ − จำนวนเต็มเดนารีที่ไม่ได้ลงนาม
  • x − จำนวนเต็มฐานสิบหก
  • โอ − จำนวนเต็มฐานแปด
  • ของ − สตริง
  • − อักขระตัวเดียว
  • − จุดทศนิยมคงที่
  • อี − จุดลอยตัวของสัญกรณ์วิทยาศาสตร์
  • − ใช้ f หรือ e แล้วแต่ว่าอันไหนสั้นกว่า

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C สำหรับ การใช้อักขระและประเภทการแปลง printf

/* printf Conversion Characters and Types */
#include <stdio.h>
main (){
   int i = -10;
   unsigned int ui = 10;
   float x = 3.56;
   double y = 3.52;
   char ch = ’z’;
   char *string_ptr = "any old string";
   printf ("signed integer %d\n", i);
   printf ("unsigned integer %u\n",ui);
   printf ("This is wrong! %u",i);
   printf ("See what happens when you get the ");
   printf ("character wrong!");
   printf ("Hexadecimal %x %x\n",i,ui);
   printf ("Octal %o %o\n",i,ui);
   printf ("Float and double %f %f\n",x,y);
   printf (" ditto %e %e\n",x,y);
   printf (" ditto %g %g\n",x,y);
   printf ("single character %c\n",ch);
   printf ("whole string -> %s",string_ptr);
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

signed integer -10
unsigned integer 10
This is wrong! 4294967286See what happens when you get the character wrong!Hexadecimal fffffff6 a
Octal 37777777766 12
Float and double 3.560000 3.520000
ditto 3.560000e+000 3.520000e+000
ditto 3.56 3.52
single character z
whole string -> any old string