C格式说明符


格式说明符定义要在标准输出上打印的数据类型。无论是打印格式化输出还是格式化输入,我们都需要格式说明符。格式说明符也称为格式字符串。在输入和输出期间使用格式说明符。这是一种在使用scanf()或使用printf()进行打印的过程中告诉编译器输入变量中的数据类型的方法。一些例子是%c,%d,%f等。

字符格式说明符:%c

#include <stdio.h>
int main()
{
    char ch = 'A';
    printf("%c\n", ch);
    return 0;
}

输出:

A

整数格式说明符:%d,%i

#include <stdio.h>
int main()
{
    int x = 45, y = 90;
    printf("%d\n", x);
    printf("%i\n", x);
    return 0;
}

输出:

45 45

双格式说明符:%f,%e或%E

#include <stdio.h>
int main()
{
    float a = 12.67;
    printf("%f\n", a);
    printf("%e\n", a);
    return 0;
}

输出:

12.670000 1.267000e + 01

整数的无符号八进制数:%o

#include <stdio.h>
int main()
{
    int a = 67;
    printf("%o\n", a);
    return 0;
}

输出:

103

整数的无符号十六进制:%x,%X

#include <stdio.h>
int main()
{
    int a = 15;
    printf("%x\n", a);
    return 0;
}

输出:

F

字符串打印:%s

#include <stdio.h>
int main()
{
    char a[] = "nitesh";
    printf("%s\n", a);
    return 0;
}

输出:

nitesh

scanf(char * format,arg1,arg2,...)

十进制整数:%d

#include <stdio.h>
int main()
{
    int a = 0;
    scanf("%d", &a); // input is 45
    printf("%d\n", a);
    return 0;
}

输出:

45

整数可以是八进制或十六进制:%i

包括

#include <stdio.h>
int main()
{
    int a = 0;
    scanf("%i", &a); // input is 017 (octal of 15 )
    printf("%d\n", a);
    scanf("%i", &a); // input is 0xf (hexadecimal of 15 )
    printf("%d\n", a);
    return 0;
}

输出:

15 15

浮动数据类型:%f,%e(双精度),%lf(长双精度)

#include <stdio.h>
int main()
{
    float a = 0.0;
    scanf("%f", &a); // input is 45.65
    printf("%f\n", a);
    return 0;
}

输出: 0.000000

字符串输入:%s

#include <stdio.h>
int main()
{
    char str[20];
    scanf("%s", str); // input is nitesh
    printf("%s\n", str);
    return 0;
}

输出:

nitesh

字符输入:%c

#include <stdio.h>
int main()
{
    char ch;
    scanf("%c", &ch); // input is A
    printf("%c\n", ch);
    return 0;
}

输出:

A

您可以在ANSI C中使用的%说明符是:

Specifier Used For
%c a single character
%s a string
%hi short(signed)
%hu short(unsigned)
%Lf long double
%n prints nothing
%d a decimal integer
%o an octal (base 8) integer
%x a hexadecimal (base 16) integer
%p an address (or pointer)
%f a floating point number for floats
%u int unsigned decimal
%e a floating point number in scientific notation
%E a floating point number in scientific notation
%% The % symbol!

更多C语言教程

这里有更多完整C语言教程