#define中的整数是什么数据类型?

Jan*_*e S 5 c

如果我用一个整数#define,什么data type是它认为是sprintf()C99

#define NUMBER 100

sprintf(buf, "%i\n", NUMBER); // is it %i, %u, %lu ?
Run Code Online (Sandbox Code Playgroud)

pmg*_*pmg 9

#define NUMBER1 100 /* int: use "%d" or "%i" in printf() */
#define NUMBER2 100U /* unsigned int: use "%u" in printf() */
#define NUMBER3 100L /* long int: use "%ld" or "%li" in printf() */
#define NUMBER4 100UL /* unsigned long int: use "%lu" in printf() */
/* C99 */
#define NUMBER5 100LL /* long long int: use "%lld" or "%lli" in printf() */
#define NUMBER6 100ULL /* unsigned long long int: use "%llu" in printf() */
Run Code Online (Sandbox Code Playgroud)

注意:U和L也可以是小写注释
2:U可以在L或LL之前或之后