Я хотел бы знать способ, если я могу прекратить печатать процесс в качестве выходного результата. Я кодирую, чтобы отсортировать строки, и это имеет чрезмерную печать. Обычно, это только напечатало бы конечный результат (что я хочу), но мой код напечатал и процесс и результаты. Есть ли способ остановить это?
Ниже приведен пример моей проблемы.
![enter image description here](https://i.stack.imgur.com/hNHGI.jpg)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define max 9999
#define row 10
#define column 8
#define WORDS 20
char arr[WORDS][1000];
char temp[100];
char str[max], str1[max];
char *s1, *st1;
int e, i, j;
int sort();
int main()
{
FILE *fp;
fp = fopen("C:/Users/yiyin/source/repos/project1/project1/tax.txt", "r");
for (e = 0; e < WORDS; e++)
{
fgets(str, max, fp);
w = strchr(str, ';');
*w = 0;
fflush(stdin);
strcpy(str1, w + 1);
s1 = strtok(str1, ";");
do
{
st7 = strstr(s1, "s__");
if (st7 != NULL)
{
strcpy(arr[0], st7+3);
arr[i][0] = 0;
sort();
for (i = 0; i < WORDS; ++i)
{
fflush(stdout);
printf("%s\n", arr[i]);
}
}//if
} while (s1 = strtok(NULL, ";"));
}//for
getchar(); getchar(); getchar(); getchar();
fclose(fp);
return 0;
}//main
int sort()
{
for (i = 0; i <WORDS; ++i)
{
for (j = i + 1; j < WORDS; ++j)
{
if (strcmp(arr[i], arr[j]) > 0)
{
strcpy(temp, arr[i]);
strcpy(arr[i], arr[j]);
strcpy(arr[j], temp);
break;
}
}//for j
}//for i
return 0;
}