2025年02月26日 在C语言中的格式说明符 极客笔记
在C语言中,格式说明符用于输入和输出。使用这个概念,编译器可以在使用scanf()函数进行输入和使用printf()函数进行输出时,理解变量中的数据类型是什么。以下是一些格式说明符的列表。
| 格式说明符 | 类型 | 
|---|---|
| %c | 字符 | 
| %d | 有符号整数 | 
| %e 或 %E | 浮点数的科学计数法表示 | 
| %f | 浮点数 | 
| %g 或 %G | 与%e或%E类似 | 
| %hi | 有符号整数(短整型) | 
| %hu | 无符号整数(短整型) | 
| %i | 无符号整数 | 
| %l 或 %ld 或 %li | 长整型 | 
| %lf | 双精度浮点数 | 
| %Lf | 长双精度浮点数 | 
| %lu | 无符号整数或无符号长整型 | 
| %lli 或 %lld | 长长整型 | 
| %llu | 无符号长长整型 | 
| %o | 八进制表示 | 
| %p | 指针 | 
| %s | 字符串 | 
| %u | 无符号整数 | 
| %x 或 %X | 十六进制表示 | 
| %n | 不打印任何内容 | 
| %% | 打印%字符 | 
这些是基本的格式说明符。我们可以使用格式说明符添加其他部分。具体如下:
%后面的数字指定最小字段宽度。如果字符串长度小于宽度,则会用空格填充。
句点(.)用于分隔字段宽度和精度。
#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() 中获取输入。
本文链接:http://so.lmcjl.com/news/23920/