Copy Code code as follows:
#include <stdio.h>
int main (int argc, char *argv[])
{
unsigned int max_int = 0-1;
printf ("The max value of unsigned int on machine:%u/n", max_int);
}
Copy Code code as follows:
#include <stdio.h>
int main (int argc, char *argv[])
{
unsigned int max_int = 0-1;
printf ("The max value of unsigned int on machine:%u/n", max_int);
}
after GCC is compiled:
INT_SIZEOF1.C: In function ' main ':
Int_sizeof1.c:5: Warning: integer overflow
after running:
The max value of int on machine:4294967295
VC6.0 and Java are compiled with no errors.
After running:
The max value of int on machine:4294967295
Copy Code code as follows:
#include <stdio.h>
int main (int argc, char *argv[])
{
int max_int = (1<<31)-1;
printf ("The max value of int on machine:%d/n", max_int);
}
The process of writing an int into a signed program is as follows:
Copy Code code as follows:
#include <stdio.h>
int main (int argc, char *argv[])
{
int max_int = (1<<31)-1;
printf ("The max value of int on machine:%d/n", max_int);
}
after GCC is compiled:
INT_SIZEOF1.C: In function ' main ':
Int_sizeof1.c:5: Warning: integer overflow
after running:
The max value of int on machine:2147483647
VC6.0 and Java are compiled with no errors.
after running:
The max value of int on machine:2147483647
Because the highest bit of int is the sign bit.