我想知道一种方法,是否可以停止将过程作为输出结果打印。我正在编码以对字符串进行排序,并且打印过多。通常,它只会打印最终结果(我想要的结果),但是我的代码同时打印了过程和结果。有办法阻止它吗? 下面是我的问题的一个例子。
#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;
}