C 语言用数字替代true和false。
#define _CRT_SECURE_NO_WARNINGS // VS 中, C 语言警告
#include <stdio.h>
int main(void)
{
int a[] = { -10, -2, 0, 1, 6, 5, 7, 10, 100, 102 };
int *p = a;
int max; // 用来存最大偶数
int flag = 1; // 标志位
for (; p < a + sizeof(a) / sizeof(*a); p++) {
if (flag && *p % 2 == 0) {
max = *p; // 取到第一个偶数,这个判断语句就不再执行
flag = 0; // 标志位置 false
}
if (!flag) {
if (*p % 2 == 0 && *p > max) {
max = *p;
}
}
}
printf("最大的偶数是:%d\n", max);
return 0;
}
输出:
最大的偶数是:102
这个标志位是一段经典代码,它只执行一次,找到第一个偶数的时候,flag
置 0 (false)
:
if (flag && *p % 2 == 0) {
max = *p; // 取到第一个偶数,这个判断语句就不再执行
flag = 0; // 标志位置 false
}