conv06.c

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

C
71
字号
#include "fail.h"

#if __WATCOM_REVISION__ >= 8
void foo( const char *p )
{
    if( *p != 'a' ) fail(__LINE__);
}

void foo( const char * const *p )
{
    foo( *p );
}

void foo( const char * const * const *p )
{
    foo( *p );
}

void foo( const char * const * const * const * p )
{
    foo( *p );
}

void foo( const char * const * const * const * const * p )
{
    foo( *p );
}

void foo( const char * const * const * const * const * const * p )
{
    foo( *p );
}
char c;
char *pc = &c;
char **ppc = &pc;
char ***pppc = &ppc;
char ****ppppc = &pppc;
char *****pppppc = &ppppc;
char ******ppppppc = &pppppc;

void test( char x )
{
    c = x;
    foo( pc );
    foo( ppc );
    foo( pppc );
    foo( ppppc );
    foo( pppppc );
    foo( ppppppc );
    char const*cpc = pc;
    char const*const*cppc = ppc;
    char const*const*const*cpppc = pppc;
    char const*const*const*const*cppppc = ppppc;
    char const*const*const*const*const*cpppppc = pppppc;
    char const*const*const*const*const*const*cppppppc = ppppppc;
    foo( cpc );
    foo( cppc );
    foo( cpppc );
    foo( cppppc );
    foo( cpppppc );
    foo( cppppppc );
}
#else
#define test( a )
#endif

int main() {
    test( 'a' );
    _PASS;
}

⌨️ 快捷键说明

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