产生人的年龄

时间:2016-04-14 22:25:35

标签: c

有谁能告诉我为什么这不起作用?

{

    int age;
    int birthYear;
    char name;

    printf("Type in your birth year: \n");
    scanf("%d", birthYear);

    age = 2016 - birthYear;

    printf("You are %d years old.\n", age);
}

1 个答案:

答案 0 :(得分:3)

您需要提供intscanf()的地址:

scanf("%d", &birthYear);

其他说明: 如果您没有放置&,则会将一个intialized int传递给scanf(),{ {1}}将此解释为指针。然后输入不会存储在变量中(保持单位化)。更糟糕的是:这可能最终导致内存损坏。