1、 C 字符串函数 sprintf()、snprintf() 详解
snprintf 函数用法 int ret = snprintf(str, 3, "%s", "abcdefg");
2、printf()输出格式大全(附 - 示例代码)
%2d(右对齐、补空格
)、%-2d、%02d(右对齐、补0
)、%.2d是什么意思?
关于printf(“%*.*f”)的问题
int c = 0xFFFFFFFF;
unsigned int a = 0xFFFFFFFF; // 4个字节 4294967295
unsigned int b = UINT_MAX; // 4个字节
printf("%d\n", c); // -1
printf("%d\n", a); // -1 用一个整型的 输出 无符号的,肯定不行啊!%d是按照int的规则来计算入参的;
printf("%lld\n", a); // 4294967295
printf("%lld\n", b); // 4294967295
char -128 ~ +127 (1 Byte)
short -32768 ~ + 32767 // 8000 ~ 0111 1111 1111 1111 (0x7FFF) (2 Bytes)
unsigned short 0 ~ 65535 // 0xffffU (2 Bytes)
int -2147483648 ~ +2147483647 // (4 Bytes)
unsigned int 0 ~ 4294967295 // 0xffffffffU (4 Bytes)
long long int -9223372036854775808 ~ +9223372036854775807 // (8 Bytes)
unsigned long long int 0 ~ 18446744073709551615
double 0 ~ 1.7 * 10^308 // (8 Bytes)
在 limits.h 头文件中
3、 为什么 short、byte 会被提升为 int?及基本类型的真实大小
int Func(short a, short b) {
return (a + b);
}