Printing long int value in C -


i have 2 variables of long int type shown below:

long int a=-2147483648, b=-2147483648; a=a+b;  printf("%d",a); 

i getting zero. tried changing type long long int, i'm still not getting correct answer.

you must use %ld print long int, , %lld print long long int.

note long long int guaranteed large enough store result of calculation (or, indeed, input values you're using).

you need ensure use compiler in c99-compatible mode (for example, using -std=gnu99 option gcc). because long long int type not introduced until c99; , although many compilers implement long long int in c90 mode extension, constant 2147483648 may have type of unsigned int or unsigned long in c90. if case in implementation, value of -2147483648 have unsigned type , therefore positive, , overall result not expect.


Comments

Popular posts from this blog

html5 - What is breaking my page when printing? -

c# - must be a non-abstract type with a public parameterless constructor in redis -

ajax - PHP/JSON Login script (Twitter style) not setting sessions -