#include int a(unsigned char a) { return a; } int b( char a) { return a; } int main(int argc, char * argv[] ) { printf("%d\n", a(0xff) ) ; // prints 256 printf("%d\n", b(0xff) ) ; // prints -1 }