首先设计一个排错函数debug(),这里假定编译程序进支持整型,字符型,整型数组和字符型数组类型。如果编译程序还值持其它的数据类型,稍加修改debug()函数即可。debug()函数如下:
/* function to print ints,chars,andint&char arrays*/
#include<stdio.h>
#include<conio.h>
#define CLEARS 111
void debug(char let,char c_array[],intn_array[],int asize,int num,int opt)
{
int i;
switch(opt)
{
case 1:
printf("The value is %d",num);
break;
case 2:
printf("The letter is %c",let);
break;
case 3: {
puts("The number array contains\n");
for(i=0;i<=asize;++i)
printf("%d",n_array);
break;
}
case 4:{
puts("The character array contains\n");
for(i=0;i<=asize;++i)
printf("%c",c_array);
break;
}
default:
puts("\nInvalid option selected!");
break;
}
puts("\tPlease press any key to continue:");
getch();
}
void main()
{
int i,j,a[10];
char ch,b[10];
for(i=5,j=0;i<15;++i,++j){
a[j]=j;
b[j]=j;
}
putchar(CLEARS);
ch='a';
debug(0,0,0,0,i,1); /*display value of i*/
debug(ch,0,0,0,0,2);/*display value of ch*/
debug(0,0,a,10,0,3);/*display value of a*/
debug(0,b,0,10,0,4);/*display value of b*/
debug(0,0,0,0,0,7);/*error*/
}
关于此函数的几点说明:
debug()函数提供一个在排错过程中把所需过程打印出来的方法,思想很简单,即把要打印的数据类型传递给它,并由后面的printf()语句将其打印出来,调用getch()函数引起程序暂停运行,直到按任意键继续。debug()参数包括了位是其工作所需内容(根据需要还可添加其它有关的参数)。opt是要使用的可选项。