有谁能告诉我为什么这不起作用?
{
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);
}
答案 0 :(得分:3)
您需要提供int
到scanf()
的地址:
scanf("%d", &birthYear);
其他说明: 如果您没有放置&
,则会将一个intialized int传递给scanf()
,{ {1}}将此解释为指针。然后输入不会存储在变量中(保持单位化)。更糟糕的是:这可能最终导致内存损坏。