You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
986 B
30 lines
986 B
5 days ago
|
#include <stdio.h>
|
||
|
|
||
|
#define FLAG_A 0x01 // 0000 0001
|
||
|
#define FLAG_B 0x02 // 0000 0010
|
||
|
#define FLAG_C 0x04 // 0000 0100
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
unsigned char flags = 0;
|
||
|
|
||
|
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
|
||
|
|
||
|
// A 활성화
|
||
|
flags |= FLAG_A;
|
||
|
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
|
||
|
|
||
|
// C 활성화
|
||
|
flags |= FLAG_C;
|
||
|
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
|
||
|
|
||
|
// B 활성화
|
||
|
flags |= FLAG_B;
|
||
|
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
|
||
|
|
||
|
// B 비활성화
|
||
|
flags &= ~FLAG_B;
|
||
|
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
|
||
|
|
||
|
return 0;
|
||
|
}
|