Programa tem lógica,mas não compila

#include <stdio.h>

int main(){

int AnoAtual,AnoDeNascimento,idade;


printf("Qual o seu ano de nascimento:");
scanf("%d",&AnoDeNascimento);
printf("Qual o ano atual:");
scanf("%d",&AnoAtual);
idade=AnoDeNascimento-AnoAtual;
printf("Sua idade é:",&idade);




}

O que fiz de errado? estou aprendendo C em um curso da internet.

Pra imprimir vc não usa o &, senão ele vai imprimir o endereço da variável, e não o seu valor.

Além disso, no printf precisa colocar o especificador de formato. Como é um inteiro, deve ser %d.

E o cálculo está errado, vc inverteu os anos. O correto seria:

idade = AnoAtual - AnoDeNascimento;
printf("Sua idade é: %d", idade);
1 curtida

Sim,notei depois,mas antes de ver o seu comentário no fórum,o programa ficou assim:

#include <stdio.h>

int main(){

int AnoAtual,AnoDeNascimento,idade;


printf("Qual o seu ano atual:");
scanf("%d",&AnoAtual);
printf("Qual o ano de nascimento:");
scanf("%d",&AnoDeNascimento);
idade=AnoAtual-AnoDeNascimento;
printf("Sua idade é:% 1d",idade);




}