c语言中的flag语句到底怎么用,如何理解
发布网友
发布时间:2022-04-23 19:19
我来回答
共2个回答
热心网友
时间:2023-10-14 13:56
flag?b[i]>b[j]:b[i]<b[j]解释这个之前,我先解释一下简单的
示例:
部分代码如下:
int flag=1,a=2,c=3;
int ans;
ans=flag ? a : c;/*先判断flag是否为真,为真(非零)的话取a的值,为假(零)的话取c的值,取完值后赋给ans变量,该示例中因为flag为1,结果为真,所以取a的值赋给ans,所以ans的值和a的值一样,都为2*/
再来看看
flag?b[i]>b[j]:b[i]<b[j]
和示例对比,可以化为:
int a=b[i]>b[j], c=b[i]<b[j]; /*其中b[i]和b[j]的值应该是已知的,如果b[i]的值大于b[j]的值,则 表达式b[i]>b[j]的值就为1,即a的值为1;同样推出c的值为0; */
flag ? a : c ; //这样就根据flag是真是假来判断了
热心网友
时间:2023-10-14 13:57
flag不是语句,只有一种用户自己定义的变量名。
大多数用户用来当做一个标志型变量。flag=1,执行某个语句。flag=0屏蔽某些语句。