
scanf() pode causar overflows
66
Capítulo 2
ALERTA DE SEGURANCA!
ALERTA DE SEGURANÇA!
ALERTA DE SEGURANÇA!
Tome cuidado com scanf()
Há um pequeno... problema com a função scanf().
Até agora, todo o código que você escreveu tem
cuidadosamente colocado um limite no número de
caracteres que scanf() vai ler em uma função:
scanf("%39s", name);
scanf("%2s", card_name);
Por que será? Afinal, scanf() usa o mesmo tipo de formato
de strings que printf(), mas quando imprimimos uma string
com printf(), apenas usamos o %s. Bem, se apenas usar um
%s em scanf(), pode haver um problema quando alguém ficar
muito empolgado, digitando:
char food[5];
printf("Enter favorite ...