pp21.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 28 行

C
28
字号
#include "fail.h"
#include <string.h>

void ack( char *m1, char *m2, char *c1, char *c2, unsigned line )
{
    if( strcmp( m1, c1 ) ) fail( line );
    if( strcmp( m2, c2 ) ) fail( line );
}

#define foo( a, b, c, d )	ack( #a, #b, c, d, __LINE__ )

#define bar()	ack( "!", "@", "!", "@", __LINE__ )

#define sam( a, b )	ack( #a, #b, #a, #b, __LINE__ )

int main() {
    foo(a,b,"a","b");
    foo(,c,"","c");
    foo(d,,"d","");
    foo(,,"","");
    sam(w,x);
    sam(,y);
    sam(z,);
    sam(,);
    bar();
    _PASS;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?