在学习c语言中遇到printf执行顺序在scanf之后,不按顺序执行
例如:
执行后:会先执行scanf(),再输出,顺序不对
修改:在输出printf和输入scanf之间,添加刷新缓冲的代码 fflush(stdout);
修改后代码:
#include<stdio.h>
#define M 5
#define N 5
int main()
{
int i, j, k;
int A[N], B[M], C[M + N];
printf("验证并集");
printf("C=A∪B\n");
printf("请输入五元整数集合A:");
fflush(stdout);
for (i = 0; i < N; i++){
scanf("%d", &A[i]);
}
printf("请输入五元整数集合B:");
fflush(stdout);
for (i = 0; i < M; i++)
scanf("%d", &B[i]);
printf("A[N]={");
for (i = 0; i<N; i++)//利用循环输出集合
{
printf("%d", A[i]);
if (i <= N - 2)
printf(",");//将集合元素以逗号隔开输出如1,2,3,4,5
}
printf("}\n");
结果: