C/C++语言 利用宏定义 测试隐式类型转换
测试环境Dev C++
部分输出结果:在这里插入图片描述
全部代码(可直接复制运行):
#include <stdio.h>
#include <stdint.h>
#include <iostream>
#include <iomanip>
using namespace std;
void Type_conversion();
int main()
{
unsigned long ulon1 = 2;
signed short ssho = -3;
signed char scha = -3;
cout << ulon1 << ">" << ssho
<< ((ulon1 > ssho) ? (" true"):(" flase")) << endl;
cout<<ulon1<<">"<<ssho
<< ((ulon1 > scha) ? (" true"):(" flase")) << endl;
Type_conversion();
return 0;
}
void Type_conversion()
{
#define VAR1 8 //目标运算变量 左
#define VAR2 -10 //目标运算变量 右
#define TYPE 2 // 1: float,double 2: uint64_t, int64_t
#if TYPE==1
#define TYPE1 uint8_t //目标测试数据类型1
#define TYPE2 uint16_t //目标测试数据类型2
#define TYPE3 uint32_t //目标测试数据类型3
#define TYPE4 int8_t //目标测试数据类型4
#define TYPE5 int16_t //目标测试数据类型5
#define TYPE6 int32_t //目标测试数据类型6
#define TYPE7 float //目标测试数据类型7
#define TYPE8 double //目标测试数据类型8
#define WIDTH 16
#elif TYPE==2
#define TYPE1 uint8_t //目标测试数据类型1
#define TYPE2 uint16_t //目标测试数据类型2
#define TYPE3 uint32_t //目标测试数据类型3
#define TYPE4 uint64_t //目标测试数据类型4
#define TYPE5 int8_t //目标测试数据类型5
#define TYPE6 int16_t //目标测试数据类型6
#define TYPE7 int32_t //目标测试数据类型7
#define TYPE8 int64_t //目标测试数据类型8
#define WIDTH 24
#endif //TYPE
#undef TYPE
#define PUTSn(str, cnt) cout<<setw(cnt)<<str //根据实际输出函数更改
#define PUTNUMn(num, cnt) cout<<setw(cnt)<<num
#define _TYPEn(typeNum) TYPE##typeNum
#define TYPEn(x) _TYPEn(x)
#define _TO_TYPEn(typeNum, number) ((TYPE##typeNum)(number))
#define TO_TYPEn(x, y) _TO_TYPEn(x, y)
#define _STRING(X) #X
#define STRING(X) _STRING(X) //宏定义字符串化函数
#define OP 1
#if OP==1
#undef OP
#define OP + //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#define OP 2
#if OP==2
#undef OP
#define OP - //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#define OP 3
#if OP==3
#undef OP
#define OP * //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#define OP 4
#if OP==4
#undef OP
#define OP / //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#define OP 5
#if OP==5
#undef OP
#define OP > //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#define OP 6
#if OP==6
#undef OP
#define OP < //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#define OP 7
#if OP==7
#undef OP
#define OP == //测试运算符
PUTSn("\n", 1);
PUTSn(STRING((row_type)VAR1 OP (col_type)VAR2), 5*WIDTH); //输出测试类型信息
PUTSn("\n\n", 2);
PUTSn(" ", WIDTH); PUTSn(" ", 1);
PUTSn(STRING(TYPE1), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE2), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE3), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE4), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE5), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE6), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE7), WIDTH); PUTSn(" ", 1);//列标签
PUTSn(STRING(TYPE8), WIDTH); PUTSn(" ", 1);//列标签
PUTSn("\n", 1);
#define TYPE_NUM 1 //设定测试行变量为 第 1 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 2 //设定测试行变量为 第 2 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 3 //设定测试行变量为 第 3 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 4 //设定测试行变量为 第 4 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 5 //设定测试行变量为 第 5 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 6 //设定测试行变量为 第 6 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 7 //设定测试行变量为 第 7 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#define TYPE_NUM 8 //设定测试行变量为 第 8 种数据类型
PUTSn(STRING(TYPEn(TYPE_NUM)), WIDTH); PUTSn(" ", 1);//行标签
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(1,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(2,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(3,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(4,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(5,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(6,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(7,VAR2)), WIDTH); PUTSn(" ", 1);
PUTNUMn( (TO_TYPEn(TYPE_NUM,VAR1) OP TO_TYPEn(8,VAR2)), WIDTH); PUTSn(" ", 1);
PUTSn("\n", 1);
#undef TYPE_NUM
#undef OP
#endif // OP==1
PUTSn("\n\n\n", 3);
#undef VAR1
#undef VAR2
#undef WIDTH
#undef TYPE1
#undef TYPE2
#undef TYPE3
#undef TYPE4
#undef TYPE5
#undef TYPE6
#undef TYPE7
#undef TYPE8
#undef _TYPEn
#undef TYPEn
#undef _TO_TYPEn
#undef TO_TYPEn
#undef _STRING
#undef STRING
}