Próbuję wydrukować zmienną typu int64_t
przy użyciu specyfikatora formatu %lld
, ale otrzymam następujące ostrzeżenie?format '% lld' oczekuje typu 'long long int', ale argument 4 ma typ 'int64_t'
Ostrzeżenie: format '% LLD' oczekuje typu 'long long int', ale argumentem 4 ma typ 'int64_t'
Moim zdaniem, pod Linuksem int64_t
jest zawsze long long int
, a następnie :
- Dlaczego pojawia się to ostrzeżenie?
- Jak mogę to naprawić?
* Moim zdaniem, pod linuxem, 'int64_t' jest zawsze' long long int'. * W rzeczywistości nie ma gwarancji, że * zawsze * będzie w tym przypadku. –
Co więcej, ponieważ kompilator narzekał na format 'printf', najprawdopodobniej nie jest' long long' na twojej platformie, ale 'long'. –
Nie programuj według opinii, uprzedzeń, przesądów, przekonań lub osób, którym powiedzieli mi o mnie. Zamiast tego: 1) dowiedzieć się, gdzie są zasady, 2) poznać zasady, 3) przestrzegać zasad. –