【发布时间】:2012-09-21 21:18:43
【问题描述】:
我一直在自学 C 编程,但在跨函数使用变量方面遇到了困难。
当我编译并运行该程序时,函数 askBirthYear 返回正确的值,但 sayAgeInYears 返回 0 或垃圾值。我相信这与我使用变量birthYear 的方式有关,但我不知道如何解决这个问题。
代码如下:
#include <stdio.h>
#include <stdlib.h>
int askBirthYear(int);
void sayAgeInYears(int);
int birthYear;
int main(void)
{ askBirthYear(birthYear);
sayAgeInYears(birthYear);
return EXIT_SUCCESS;
}
int askBirthYear(int birthYear)
{
printf("Hello! In what year were you born?\n");
scanf("%d", &birthYear);
printf("Your birth year is %d.\n", birthYear);
return birthYear;
}
void sayAgeInYears(int birthYear)
{
int age;
age = 2012 - birthYear;
printf("You are %d years old.\n", age);
}
【问题讨论】:
-
如果你有一个有用的答案,你应该接受它。单击 upvote/downvote 计数器下的复选标记。这会将问题标记为“已回答”,并为您提供少量声誉奖励。请参阅How do I ask 常见问题解答文章。