Bu program nasıl çalışır?
#include <stdio.h>
int main() {
float a = 1234.5f;
printf("%d\n", a);
return 0;
}
0
! görüntüler! Bu nasıl mümkün olabilir? Mantık nedir?
Kasten %d
printf
bir açıklama printf
davranışlarını incelemek için koyduk.
CEVAP
%d
int
Bir beklediği için değil ama bir şamandıra temin ettik.
Yazdır%e
/%f
/%g
şamandıra kullanın.
0 yazdırılır neden: kayan nokta sayısı printf
göndermeden önce double
dönüştürülür. Küçük indian çift gösterimi sayısı 1234.5
00 00 00 00 00 4A 93 40
%d
tüketir 32-bit bir tamsayı, sıfır yazdırılır. (Bir test olarak, 16**.*.* 17) çıktı alabilirsin
float
printf prototip olarak double
, dönüştürülür nedenine gelince/7 6.5.2.2, 20*
Bir işlev prototip Bildiricisi üç nokta gösterim argüman tipi dönüşüm son parametre ilan etmesinden sonra durmasına neden olur.Varsayılan bağımsız değişken promosyon değişkenleri izleyen üzerinde gerçekleştirilir.
ve/6 6.5.2.2
Eğer çağrılan işlev gösterir ifadeyi bir prototip içermeyen bir tür varsa, tamsayı promosyonları her argüman üzerinde gerçekleştirilir21 ** türü argümanlar 22 ** yükseltildi.Bunlar denirvarsayılan argüman promosyonlar.
(Teşekkürler bu bulmak için Alok.)
ES 2.0 Birden fazla Program veya Birde...
JavaScript kilitler nasıl çalışır?...
CSS üçgenler nasıl çalışır?...
Veri bağlama Nasıl çalışır?AngularJS :...
Nasıl veritabanı indeksleme çalışır?...