flag在C语言中没有特定的含义,但是我们一般将它作为标记使用。比如设立判断条件,或者作为跳出循环的依据。

例如,判断素数中,设置flag标记,让我们的程序可读性更佳。

 #include<stdio.h>#include<math.h> int prime(int n)
{int flag=1;     //设置标记for(int i=2; i<=sqrt(n); i++){if(n%i==0){flag = 0;break;}}return flag;
}
int main()
{for(int i=2;i<=200;i++){if(prime(i)==1)printf("%d\n",i);}
}

在三色旗算法中同样用到flag标记,里面需使用三种标记使得三种不同的旗子能够按要求移动排序。

//三色旗
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BLUE 'b'
#define RED 'r'
#define WHITE 'w'
//宏定义函数,无参数类型,且容易产生错误,节省时间但是占用空间 ,'\'是宏定义的换行符
//交换两面旗的函数方法
#define \
swap(x, y){ \char temp; \temp=color[x]; \color[x]=color[y]; \color[y]=temp;}int main() {char color[] = {'r','w','r','r','b','b','w','w','r','b','\0'};//标记的含义是,当蓝色和白色标记若在非自己颜色的旗子上则不移动,//若在,则向前移动,直到红色与白色标记停留在同一位置结束int bFlag = 0; //b放在第一位 int wFlag = 0; //w也放在第一位 int rFlag = strlen(color)-1;  //r放在最后一位 int i;//打印初始旗子次序 for(i=0; i<strlen(color);i++)printf("%c",color[i]);printf("\n");//当一个在前一个在后 while(wFlag <= rFlag){if(color[wFlag] == WHITE)wFlag++;   //白色往后移 else if(color[wFlag] == BLUE){swap(bFlag,wFlag);bFlag++; //蓝色往后移wFlag++; } else {while(wFlag < rFlag && color[rFlag] == RED)rFlag--; //往前移动 swap(rFlag,wFlag);rFlag--; }} for(i=0; i<strlen(color);i++)printf("%c",color[i]);printf("\n");return 0;
}

补充一个韩信点兵使用flag,用C++写的,使else语句在for循环中只输出一次的效果。

#include<iostream>
#include<iomanip>
using namespace std;int main(){int a, b, c, x=0;   bool flag = true;int n=1;while(scanf("%d %d %d", &a,&b,&c) == 3){ for(int i=10;i<100;i++){if(i%3==a && i%5==b && i%7==c){cout<<i;flag = false;break;} else {if(!flag){cout<<"No answer";flag = true;  //这里必须重置,不然会使得后面结果重复输出原来的结果break;} }} }return 0;
}

不懂的同学可以在下方留言。

以后继续补充。。。

C语言——设置flag的优点相关推荐

  1. c语言linux系统时间,【整理】C语言设置Linux系统时间 | 勤奋的小青蛙

    今晚完成一个小功能,C语言设置下Linux系统时间.代码如下: #include #include #include #include using namespace std; using std:: ...

  2. origin9语言设置中文_英雄联盟手游怎么设置繁体 LOL手游繁中设置方法?_英雄联盟手游...

    英雄联盟手游终于在海外部分地区上线了,不过玩海外服有一点不好,就是界面都是外文,比如英文.日文.韩文等等.那么英雄联盟手游怎么设置繁体中文呢,这里就来给大家介绍一下LOL手游繁中设置方法,将游戏语言切 ...

  3. centos7 locale 区域语言设置

    1.语言代码参考 Language $LANG value Englist(US) en_US.utf8 Assamese as_IN.utf8 Bengali bn_IN.utf8 Chinese( ...

  4. oracle选择语言设置,oracle本地语言变量设置

    select userenv('language') from dual 察看当前会话的语言环境变量设置: SQL> select userenv('language') from dual; ...

  5. 安卓多语言设置,深渊巨坑,适配7.0以上,并且解决因WebView产生的问题

    前言 安卓的多语言设置配置中strings.xml我就不说怎么弄了,主要说一下后续遇到的坑 正文 上个月接到需求,要给app内添加多语言设置,我心想没啥难的,配置一下strings.xml,加个修改的 ...

  6. SAP UI5是如何从浏览器读取语言设置并按照优先级排序的

    如图,在SAP UI5源代码的sap-ui-core.js这里,对象navigator的属性languages是一个数组,里面存放了从浏览器语言设置里配置的语言,按照优先级从高到低排序: 要获取更多J ...

  7. 谷歌maps菜单语言设置_Google Maps:拯救未来之路— UX案例研究

    谷歌maps菜单语言设置 I have a lousy sense of direction, so Google Maps has always been my right-hand app. On ...

  8. linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...

    博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...

  9. iOS 国际化多语言设置 xcode7

    iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...

  10. thinkphp多语言设置

    thinkphp多语言设置有点'高大上',为什么说它有点'高大上'呢?因为本人设置了好久才弄好,而本人之所以弄了好久的原因,竟然是因为'开启语言设置必须得先开启初始化系统的行为类',所以,在这里,因为 ...

最新文章

  1. datatables增删改查php,jQuery+datatables插件实现Ajax加载数据与增删改查功能示例_白峰_前端开发者...
  2. 杨植麟:28 岁青年科学家,开挂人生的方法论
  3. morality and strength
  4. LinuxMint(Ubuntu)安装文泉驿家族黑体字
  5. kafka 串讲:架构模型、角色功能梳理
  6. 说说基于网络的五种IO模型
  7. matlab电机标定,基于模型的电机标定及高精度电机建模
  8. 程序员的自我救赎---4.2:消息中心讲解与应用
  9. this关键字 和 private关键字
  10. 四、物理优化(4)分区视图
  11. mysql 导出中间 数据_mysql导出数据库几种方法
  12. python struct 45s_python32版本,struct.error: argument for 's' must be a bytes object - 小众知识...
  13. 批处理命令调用WINRAR对文件进行压缩
  14. CCNA实验:实验一:思科设备基本配置
  15. Hadoop运行环境搭建
  16. 问卷分析SPSS+AMOS实证步骤
  17. 求最大公约数的MATLAB,matlab求最大公约数和最小公倍数
  18. 恒指期货高手背后的辛酸付出谁又能懂
  19. 使用Dreamweaver进行一个简单的图文混排1/HTML
  20. workman 和swoole 区别

热门文章

  1. java窗口设计_java简单窗口设计(源代码)
  2. 根据时间经纬度高程计算天顶角
  3. 用 PS 去除图片中文字的方法
  4. Java基础(五十二)-IO编程
  5. HR面试都会问什么问题?(上)
  6. 一文了解推挽输出结构Output_push_pull
  7. 银联携手酷客多协助百万商家上线小程序
  8. 台式计算机显卡最高温度多少,笔记本/台式机显卡核心多少度正常?GPU温度过高该如何处理?...
  9. EasyUI中combogrid设置onSelect后 获取不到getSelecte问题解决
  10. 现代软件工程学期总结