%d avec Long Int

Est le code suivant Correcte?Aussi loin que ma compréhension,il ne devrait pas fonctionner correctement,mais sur le Dev-C++ Compilateur,il n'.Quelqu'un pourrait-il expliquer en détail s'il vous plaît?

#include<limits.h>

int main()
{
long int num_case=LONG_MAX;

scanf("%d",&num_case);

printf("%ld",num_case);
return 0;
}

Grâce

Vous devriez scanf pour un %ld si c'est ce que vous attendez. Mais depuis un long est plus grand que votre typique int, il n'y a pas de problème avec cela.
Ne pas utiliser le compilateur qui vient avec Dev-C++ - il est extrêmement dépassée! Voir jasonbadams.net/20081218/why-you-shouldnt-use-dev-c

OriginalL'auteur nikel | 2012-04-26