#define然后printf无法正常工作

时间:2014-03-10 14:39:05

标签: c c-preprocessor

对于赋值,我必须将变量N定义为100,然后在printf语句中调用该变量。代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>
#define N 100

int main ( )
{
...
printf("Try to guess a number between 1 and N \n\n") ;
...
}

N只是N而不是100

2 个答案:

答案 0 :(得分:4)

这是因为双引号之间的所有内容都被视为字符数组,即字符串。因此,如果您想在字符串中显示N,则应将其用作“常用”变量:

printf("Try to guess a number between 1 and %d \n\n", N) ;

答案 1 :(得分:4)

#define不会扩展为文字字符串("之间的字符块)。你应该写:

printf("Try to guess a number between 1 and %d \n\n", N)