|
Packit Service |
8bf002 |
/* n_23.c: ## operator in macro definition. */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#include "defs.h"
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#define glue( a, b) a ## b
|
|
Packit Service |
8bf002 |
#define xglue( a, b) glue( a, b)
|
|
Packit Service |
8bf002 |
#define MACRO_0 0
|
|
Packit Service |
8bf002 |
#define MACRO_1 1
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
main( void)
|
|
Packit Service |
8bf002 |
{
|
|
Packit Service |
8bf002 |
int xy = 1;
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
fputs( "started\n", stderr);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 23.1: */
|
|
Packit Service |
8bf002 |
assert( glue( x, y) == 1);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 23.2: Generate a preprocessing number. */
|
|
Packit Service |
8bf002 |
#define EXP 2
|
|
Packit Service |
8bf002 |
assert( xglue( .12e+, EXP) == 12.0);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
fputs( "success\n", stderr);
|
|
Packit Service |
8bf002 |
return 0;
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
|