关于C语言转换指定符和修饰符的方便的参考资料

244 阅读1分钟

关于C语言转换指定符和修饰符的方便的参考资料

在这篇文章中,我想为你可以使用的所有C转换指定器创建一个有用的参考,通常与printf(),scanf() 和类似的I/O函数。

指明器意思是
%d /%i有符号的十进制整数
%u无符号十进制整数
%c无符号char
%s字符串
%p十六进制形式的指针
%o无符号的八进制整数
%x /%X无符号十六进制数
%e指数格式的浮点数,以e 符号表示
%E指数格式的浮点数,以E 符号表示
%fdouble 十进制格式的数字
%g /%Gdouble 十进制格式的数字或指数格式的数字,取决于数值的大小

除了这些指定器之外,我们还有一组修饰器

让我们从数字开始。在% 和格式指定符之间使用一个数字,你可以告诉最小字段宽度。例如:%3d ,无论打印的是什么数字,都要占用3个空格。

这个。

printf("%4d\n", 1);
printf("%4d\n", 12);
printf("%4d\n", 123);
printf("%4d\n", 1234);

应该打印

   1
  12
 123
1234

如果你在数字前加一个点,你就不是在告诉精度:小数点后的数字。这当然适用于小数的数字。例子。

printf("%4.2f\n", 1.0);
printf("%4.3e\n", 12.232432442);
printf("%4.1e\n", 12.232432442);
printf("%4.1f\n", 123.22);

将会打印。

1.00
1.223e+01
1.2e+01
123.2

除了数字之外,我们还有3个特殊的字母。h,lL

  • h,与整数一起使用,表示short int (例如%hd )或short unsigned int (例如%hu )。
  • l,用于整数,表示long int (例如%ld )或长无符号int(例如%lu )。
  • L,用于浮点数时,表示long double ,例如%Lf