在上面的示例中,我们使用枚举类型——Flags——定义了三个标志位:——FLAG_A——、——FLAG_B——和——FLAG_C——。每个标志位都有一个特定的值,可以通过位运算符进行组合和判断。在——main——函数中,我们设置了标志位A和C为1,其他为0,并根据标志位的值执行不同的操作。除了上述两种常见的用法外,...
typedef enum { FLAG1 = 1, FLAG2 = 2, FLAG3 = 4,} Flags;Flags flags = FLAG1 | FLAG3; // 使用位或运算符设置多个标志位if (flags & FLAG1) { printf("标志位1已设置\n");} 通过将每个枚举值设置为不同的二进制位,我们可以使用位运算符来测试和设置多个标志位,以实现更高效的编程。
flags(标识)描述 - 在给定的字段宽度内左对齐,默认是右对齐(参见 width 子说明符)。 + 强制在结果之前显示加号或减号(+ 或 -),即正数前面会显示 + 号。默认情况下,只有负数前面会显示一个 - 号。 (space) 如果没有写入任何符号,则在该值前面插入一个空格。 # 与o、x 或 X 说明符一起使用时,非零值...
%[flags][width][.precision][length]specifier,即:%[标志][最小宽度][.精度][类型长度]转换说明符 转换说明符(specifier)用于规定输出数据的类型,含义如下: 2.1 转换说明符表: 2.2 常见的转换说明符用法示例 #include<stdio.h>int main(){printf("%d\n", 10);//有符号整型十进制printf("%u\n", 10);...
flags它用于控制输出内容的对齐方式。 不填或+:输出的内容右对齐,这是缺省的方式,上一小节就是右对齐的示例。 -:输出的内容左对齐。 printf("=%-12s=\n","abc"); // 输出=abc = printf("=%-12d=\n",123); // 输出=123 = printf("=%-12f=\n",123.5); // 输出=123.500000 = ...
int printf(const char *format,[argument]);format 参数输出的格式,定义格式为:[flags][width][.perc] [F|N|h|l]type 规定数据输出方式,具体如下:1.type 含义如下:d 有符号10进制整数 i 有符号10进制整数 o 有符号8进制整数 u 无符号10进制整数 X/x 有符号16进制整数 F/f 浮点数 E...
%[flags][width][.precision]type [xxx] 并不是C语言规定的格式,只是一种习惯写法,表示此处的内容可有可无,后面会经常见到这样的写法。 1) type 也就是以什么类型输出,比如 %d、%f、%c,type 就分别对应 d、f、c;%-9d中 type 对应 d。type 必须有。
%[flags][width][.prec][F|N|h|I][type] 各部分说明如下: “[]”表示该项为可选项,即可有可无,如 printf("%d",100); flags为可选择的标志字符,常用的标志字符有: - ——左对齐输出,默认为右对齐输出; + ——正数输出加号(+),负数输出减号(-); ...
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2") 5 添加全局宏定义 通过命令add_definitions可以添加全局的宏定义,在源码中就可以通过判断不同的宏定义实现相应的代码逻辑。用法如下: add_definitions(-DDEBUG -DREAL_COOL_...
%[flags][width][.precision][length]specifier 1、格式化输出整型 d 格式,用来输出十进制整数。 %d:按整型数据的实际长度输出; %md:m为指定的输出宽度。如果数据的位数小于m,则左端补空格;若大于m,则按实际位数输出; %0md:同上,但这里如果数据的位数小于m,则左端补0;若大于m,则按实际位数输出。