在调试的过程,因为需要不断的更改文件,以读取数据,但是当文件更改的时候,函数中声明的一个预编译命令“#define NUM 10”必须要变,因为NUM保存着要排序的元素的数目(早知道,在结构体中增加一个保存排序数目的变量,就没这个麻烦了),还有一个保存数据的文件的名称还需要修改。所以每调试一个文件,需要改动两个地方。如果这样的话,一定会在某个时候只改动一个地方而引起错误,于是,我就想在程序中打开文件(文件是“yang+保存是元素是数目.txt”命名的)的时候,可以通过预定义的NUM找到对应的文件,这样只需要改动一个预定义命令就可以了。但是当我实现strcat连接字符串的时候,我才发现,它的参数都是字符串,为了把NUM表示的整数更好的连接到字符串中,我想动了下面的方法:
int JudgeNum(int num)//查询整数的数目
{
int i=0;
while(num)
{
i++;
num=num/10;
}
return i;
}
void AddIntToStr(int num,char str[])//把整数添加到字符数组中
{
int i=JudgeNum(num);//首先判断元素的数目
str[i]='\0';
while(i>=0)
{
str[--i]=(num%10)+48;//0的ASCII值是0x30H,即48
num=num/10;
}
}
上面的方法虽然说有点笨吧,但是却为我上次调试省了不少时间。要是大家还有什么更好的方法,欢迎拍砖啊!