opt03.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 56 行
C
56 行
#include "fail.h"
#include <stdio.h>
int foo( int &x )
{
return !&x;
}
int foo( int *x )
{
int &r = *x;
return &r == 0;
}
int foo( char *x )
{
char &r = *x;
return &r != 0;
}
struct S {
int foo();
int test_this();
int use_this();
};
int S::foo()
{
return this == 0;
}
int S::test_this()
{
if( this ) {
return 2;
}
return this != 0 ? 3 : 1;
}
int S::use_this()
{
if( !this ) {
return 1;
}
return this ? 4 : 5;
}
S *p;
int *q;
char *x;
int main()
{
if( ! foo( q ) ) fail(__LINE__);
if( ! foo( *q ) ) fail(__LINE__);
if( foo( x ) ) fail(__LINE__);
if( ! p->foo() ) fail(__LINE__);
if( p->test_this() != 1 ) fail(__LINE__);
if( p->use_this() != 1 ) fail(__LINE__);
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?