Привет, Мадневил и добро пожаловать в StackOverflow;
Вы получаете неправильный результат, потому что порядок инструкций вашей программы неправильный, вы рассчитываете возраст перед чтением CurrentYear
и BornYear
:
Правильный способ сделать это:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int CurrentYear = 0;
int BornYear = 0;
printf("What year is it?\n");
scanf("%d", &CurrentYear);
//printf("Year check: %d\n", CurrentYear);
printf("What year you were born?\n");
scanf("%d", &BornYear);
//printf("Year check: %d\n", BornYear);
int age = CurrentYear - BornYear;
printf("You are %d years old\n", age);
return 0;
}
также вы можете спросить, почему результат не равен 0, потому что вы еще не инициализировали переменные?
ответ в том, что язык программирования C различен, он берет случайные переменные из памяти. Поэтому в качестве хорошей практики всегда инициализируйте переменную