/************************************************* ***************** int_wrap.c - k4thryn Columbine dimostrazione di limitazioni per intero i tipi di dati. Questo programma ha le opzioni per la firma o unsigned argomenti, in modo che le differenze di comportamento può essere visto. buone opzioni (su compilatori w / a 2-bit) sono -s 32767 U-65535 ************************************************** *****************/ # include <stdio.h> # include <stdlib.h> # include <string.h> nulla di utilizzo (char *); int main (int argc, char * argv []) ( unsigned short unsigned_number; signed_number breve; if (argc! = 3) ( utilizzo (argv [0]); return 1; ) if (strncmp (argv [1], "-u", 2) == 0) ( printf ( "Dimensione in byte:% d \ narg:% s \ n", sizeof (unsigned_number), argv [2]); sscanf (argv [2], "% hu", & unsigned_number); printf ( "\ nunsigned valore:% hu \ n", unsigned_number); printf ( "valore + 1:% hu \ n", unsigned_number + +); } else if (strncmp (argv [1], "-s", 2) == 0) ( printf ( "Dimensione in byte:% d \ narg:% s \ n", sizeof (signed_number), argv [2]); sscanf (argv [2], "% hd", & signed_number); printf ( "\ nsigned valore:% hd \ n", signed_number); printf ( "valore + 1:% hd \ n", signed_number + +); ) else ( utilizzo (argv [0]); return 1; ) return 0; ) nulla di utilizzo (char * bin) ( fprintf (stderr, "Uso: \ t% s - [su] N \ n", bin); fprintf (stderr, "\ twhere-s indica firmato,-u indica unsigned, e N è un numero intero \ n andata e ritorno;
|
Bookmark int_wrap.c

