Jestem początkującym studentem programowania, po prostu chciałem poznać przyczynę tego.C90 nie zezwala na użycie% lf w printf, dlaczego?
Kiedy używam tego kodu:
#include <stdio.h>
int main()
{
double pi = 3.1415926535897932;
printf("%lf",pi);
return 0;
}
Kompilator daje to ostrzeżenie. ISO C90 nie obsługuje '% lf' Format gnu_printf [-Wformat]
używam kompilatora gcc w terminalu z ubuntu (-o -Wall -ansi -pedantic-błędów)
co jest powodem to? Szukałem w Internecie i stwierdziłem, że użycie tego jest dozwolone w C99. Dlaczego C90 nie zezwala na użycie% lf w printf? Mogę użyć% .16lf lub% .16f i oba są drukowane z tą samą precyzją, więc co jest przyczyną% LF w C90?
Ponieważ nie został wystandaryzowany do później? –
'% lf' nie ma zastosowania dla rodziny' printf', tylko dla rodziny 'scanf'. –
Prawdopodobny duplikat: http://stackoverflow.com/questions/6395726/how-does-printf-and-co-co-rozróżnianie-pomiędzy-powietrze- i-podwójnie –