File: n_22.c

package info (click to toggle)
mcpp 2.7.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 8,024 kB
  • ctags: 29,151
  • sloc: ansic: 35,191; sh: 9,231; makefile: 176; cpp: 84; exp: 18
file content (26 lines) | stat: -rw-r--r-- 643 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* 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;
}