Sono uno studente di programmazione per principianti, volevo solo imparare la ragione di questo.C90 non consente% lf uso in printf, perché?
Quando uso di questo codice:
#include <stdio.h>
int main()
{
double pi = 3.1415926535897932;
printf("%lf",pi);
return 0;
}
compilatore dà questo avvertimento. ISO C90 non supporta il 'lf%' formato gnu_printf [-Wformat]
io uso il compilatore gcc nel terminale Ubuntu con (-o -Wall -ansi -pedantic-errori)
Qual è la ragione che sta dietro Questo? Ho cercato sul Web e ho trovato che questo uso è consentito in C99. Perché C90 non ha consentito% lf in uso in printf? Posso usare% .16lf o% .16f ed entrambi stampano con la stessa precisione, quindi qual è il problema che rende% lf cattivo in C90?
Perché non è stato standardizzato fino a più tardi? –
'% lf' non ha alcun uso per la famiglia' printf', solo per la famiglia 'scanf'. –
Possibile duplicato: http://stackoverflow.com/questions/6395726/how-does-printf-and-co-differentiate-beetween-float-and-double –