|
Packit Service |
8bf002 |
/* n_2.c: Line splicing by <backslash><newline> sequence. */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#include "defs.h"
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
main( void)
|
|
Packit Service |
8bf002 |
{
|
|
Packit Service |
8bf002 |
int ab = 1, cd = 2, ef = 3, abcde = 5;
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
fputs( "started\n", stderr);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 2.1: In a #define directive line, between the parameter list and the
|
|
Packit Service |
8bf002 |
replacement text. */
|
|
Packit Service |
8bf002 |
#define FUNC( a, b, c) \
|
|
Packit Service |
8bf002 |
a + b + c
|
|
Packit Service |
8bf002 |
assert( FUNC( ab, cd, ef) == 6);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 2.2: In a #define directive line, among the parameter list and among the
|
|
Packit Service |
8bf002 |
replacement text. */
|
|
Packit Service |
8bf002 |
#undef FUNC
|
|
Packit Service |
8bf002 |
#define FUNC( a, b \
|
|
Packit Service |
8bf002 |
, c) \
|
|
Packit Service |
8bf002 |
a + b \
|
|
Packit Service |
8bf002 |
+ c
|
|
Packit Service |
8bf002 |
assert (FUNC( ab, cd, ef) == 6);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 2.3: In a string literal. */
|
|
Packit Service |
8bf002 |
assert (strcmp( "abc\
|
|
Packit Service |
8bf002 |
de", "abcde") == 0);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 2.4: <backslash><newline> in midst of an identifier. */
|
|
Packit Service |
8bf002 |
assert( abc\
|
|
Packit Service |
8bf002 |
de == 5);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 2.5: <backslash><newline> by trigraph. */
|
|
Packit Service |
8bf002 |
assert( abc??/
|
|
Packit Service |
8bf002 |
de == 5);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
fputs( "success\n", stderr);
|
|
Packit Service |
8bf002 |
return 0;
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
|