SóProvas


ID
2255518
Banca
IF-RS
Órgão
IF-RS
Ano
2016
Provas
Disciplina
Programação
Assuntos

Em C, o tipo de dado long double, tem sua especificação de conversão para printf e scanf respectivamente: 

Alternativas
Comentários
  • Para scanf, %f lê em um float, e %lf lê em um double.

    Para printf: No C99 e posterior, ambos são idênticos e imprimem um float ou um double. Em C89, %lf causou um comportamento indefinido, embora fosse uma extensão comum tratá-lo como %f.

    A razão pela qual um especificador pode ser usado para dois tipos diferentes printf é devido às promoções de argumentos padrão; argumentos de tipo float são promovidos a double quando usados ​​para chamar uma função e não corresponder a um parâmetro em um protótipo de função. Então, printf só vê um double em ambos os casos.