程序C简单的小程序错误

时间:2015-02-03 04:03:45

标签: c

这只是我制作的一个简单程序。不知道为什么它不起作用,也许你们可以提供帮助。

提前致谢。

main.c:

#include <stdio.h>
#include <stdlib.h>
#include "HuntersInfo.h"

int main()
{

    int girlsAge = (AGE / 2) + 7;
    printf("%s can date girls who are %d or older.\n", MYNAME, girlsAge);

    return 0;
}

HuntersInfo.h:

#define MYNAME "Hunter Shutt"
#define AGE "14"

3 个答案:

答案 0 :(得分:2)

预处理器运行后,您将离开:

int main()
{

    int girlsAge = ("14" / 2) + 7;
    printf("%s can date girls who are %d or older.\n", "Hunter Shutt", girlsAge);

    return 0;
}

如您所见,"14"是一个字符串,而不是数字。

#define AGE 14会修复它,但您更好地使用变量而不是无类型定义,因为您将获得更多有用的错误和警告:

static const char* MYNAME = "Hunter Shutt";
static const int AGE = 14;

答案 1 :(得分:1)

变化

#define AGE "14"

#define AGE 14

它不起作用,因为你正在对字符串进行分割。

答案 2 :(得分:0)

您正在使用字符串进行一些数学运算(您将年龄设置为“14”)。改变线 #define AGE "14"#define AGE 14

#define几乎告诉编译器每次看到它之后的任何符号(在本例中为AGE)与之后的符号(你已经将它设置为“14”)。