c语言flag的用法

详细介绍一下,谢谢!
2024-11-25 10:27:33
推荐回答(5个)
回答1:

1 flag不是c语言的关键字,其通常用来作为一个指示变化的变量的名称

2 示例(冒泡排序里用flag来判断序列是否已经有序)

#include
#define N 5
void swap(int arr[], int a, int b){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
void display(int arr[]){
for (int i = 0; i < N; i++)
printf("%d ", arr[i]);
puts("");
}
int main(){
int arr[N] = { 5, 4, 3, 2, 1 };// { 1, 2, 3, 4, 5 };
bool flag;
//冒泡排序
for (int i = 0; i < N - 1; i++){
flag = false;
for (int j = 0; j < N - i - 1; j++){
if (arr[j] > arr[j + 1]){
swap(arr, j, j + 1);
flag = true;
}
}
if (flag == false)//表示已为有序,则中断之
break;
}
display(arr);
return 0;
}

3 运行结果

回答2:

他只是一个变量,你可以随便定义的(自我理解)。
c语言中常用flag作为逻辑处理时的标志(借鉴他人)。

回答3:

C语言没有flag的,flag应该是你自己定义的变量,一般作用都是作为标记使用。比如循环结束,或者break标记

回答4:

#include
main()
{
int n,i,flag,sum=0;
for(n=3;n<=100;n++)
{
flag=1;
for(i=2;i<=n-1;i++)
{
if((n%i)==0)
flag=0;

}
if(flag==1)
{
sum=sum+1;
printf("质数: %d\n",n);

}

}
printf("\n质数总的个数: %d\n",sum);
}

回答5:

其实就是把它当成int来使用。
比如int flag = 1;
if(flag)
{

}