首页 > 文章列表 > 在C语言中的格式说明符

The format specifiers are used in C for input and output purposes. Using this concept the compiler can understand that what type of data is in a variable during taking input using the scanf() function and printing using printf() function. Here is a list of format specifiers.

Format SpecifierType
%cCharacter
%dSigned integer
%e or %EScientific notation of floats
%fFloat values
%g or %GSimilar as %e or %E
%hiSigned integer (short)
%huUnsigned Integer (short)
%iUnsigned integer
%l or %ld or %liLong
%lfDouble
%LfLong double
%luUnsigned int or unsigned long
%lli or %lldLong long
%lluUnsigned long long
%oOctal representation
%pPointer
%sString
%uUnsigned int
%x or %XHexadecimal representation
%nPrints nothing
%%Prints % character

These are the basic format specifiers. We can add some other parts with the format specifiers. These are like below −

  • A minus symbol (-) sign tells left alignment

  • A number after % specifies the minimum field width. If string is less than the width, it will be filled with spaces

  • A period (.) is used to separate field width and precision

Example

 Live Demo

#include <stdio.h>
main() {
   char ch = 'B';
   printf("%c

", ch); //printing character data    //print decimal or integer data with d and i    int x = 45, y = 90;    printf("%d

", x);    printf("%i

", y);    float f = 12.67;    printf("%f

", f); //print float value    printf("%e

", f); //print in scientific notation    int a = 67;    printf("%o

", a); //print in octal format    printf("%x

", a); //print in hex format    char str[] = "Hello World";    printf("%s

", str);    printf("%20s

", str); //shift to the right 20 characters including the string    printf("%-20s

", str); //left align    printf("%20.5s

", str); //shift to the right 20 characters including the string, and print string up to 5 character    printf("%-20.5s

", str); //left align and print string up to 5 character }

输出

B
45
90
12.670000
1.267000e+001
103
43
Hello World
Hello World
Hello World
Hello
Hello

我们可以以相同的方式使用这些格式说明符来使用scanf()函数。因此,我们可以像上面打印的那样从scanf()中获取输入。