/************************************************* ***************** int_wrap.c - k4thryn columbine démonstration des limites sur les types de données entier. ce programme a des options pour les arguments, signées ou non, de sorte que les différences de comportement peut être vu. bonnes options (sur les compilateurs w / 2-un peu court), sont -s 32767 u-65535 ************************************************** *****************/ # include <stdio.h> # include <stdlib.h> # include <string.h> void usage (char *); int main (int argc, char * argv []) ( unsigned short unsigned_number; signed_number court; if (argc! = 3) ( usage (argv [0]); return 1; ) if (strncmp (argv [1], "-u", 2) == 0) ( printf ( "taille en octets:% d \ narg:% s \ n", sizeof (unsigned_number), argv [2]); sscanf (argv [2], "% hu", & unsigned_number); printf ( "\ nunsigned valeur:% hu \ n", unsigned_number); printf ( "la valeur + 1:% hu \ n", unsigned_number + +); ) else if (strncmp (argv [1], "-s", 2) == 0) ( printf ( "taille en octets:% d \ narg:% s \ n", sizeof (signed_number), argv [2]); sscanf (argv [2], "% hd", & signed_number); printf ( "\ nsigned valeur:% hd \ n", signed_number); printf ( "la valeur + 1:% hd \ n", signed_number + +); ) else ( usage (argv [0]); return 1; ) return 0; ) void usage (char * bin) ( fprintf (stderr, "usage: \ t% s - [su] N \ n", bin); fprintf (stderr, "\ twhere-s indique signé, non signé, indique-u, et N est un entier \ n return;
|
Bookmark int_wrap.c

