Blob Blame History Raw
/* n_22.c:  Tokenization of preprocessing number.   */

#include    "defs.h"

#define str( a)     # a
#define xstr( a)    str( a)
#define EXP         1

main( void)
{
    fputs( "started\n", stderr);

/* 22.1:    12E+EXP is a preprocessing number, EXP is not expanded. */
    assert( strcmp( xstr( 12E+EXP), "12E+EXP") == 0);

/* 22.2:    .2e-EXP is also a preprocessing number. */
    assert( strcmp( xstr( .2e-EXP), ".2e-EXP") == 0);

/* 22.3:    + or - is allowed only following E or e, 12+EXP is not a
        preprocessing number.   */
    assert( strcmp( xstr( 12+EXP), "12+1") == 0);

    fputs( "success\n", stderr);
    return  0;
}