Printf long long int in C avec GCC?
Comment puis-je printf long long int
et unsigned long long int
en C99 en utilisant GCC?
j'ai cherché les autres messages qui suggèrent d'utiliser %lld
mais il donne ces avertissements:
avertissement n ° 1: inconnu type de conversion de caractère 'l' dans le format [-Wformat]|
avertissement#2: trop d'arguments pour le format [- Wformat-extra-args]/
Pour la tentative suivante:
#include <stdio.h>
int main()
{
long long int x = 0;
unsigned long long int y = 0;
printf("%lldn", x);
printf("%llun", y);
}
2 réponses
si vous êtes sous windows et que vous utilisez mingw, gcc utilise l'exécution win32, où printf a besoin de %I64d
pour un entier 64 bits. (et %I64u
pour un unsinged entier de 64 bits)
pour la plupart des autres plateformes vous utiliseriez %lld
pour imprimer longtemps. (et %llu
si c'est non signé). C'est la norme EN C99.
gcc ne vient pas avec un temps D'exécution C complet, il se reporte à la plate - forme sur laquelle il tourne-donc le cas général est que vous avez besoin de consulter la documentation pour votre plate - forme particulière-indépendante de gcc.
essayez de mettre à jour votre compilateur, J'utilise GCC 4.7 sur Windows 7 Starter x86 avec MinGW et il se compile très bien avec les mêmes options en C99 et C11.