short a = 30000, b = 30000;
printf("sizeof(a) = %d/n", sizeof(a));
printf("sizeof(b) = %d/n", sizeof(b));
printf("sizeof(~a) = %d/n", sizeof(~a));
printf("sizeof(a + b) = %d/n", sizeof(a + b));
printf("a + b = %d/n", a + b); signed char c = 127;
printf("c+1 = %d/n", c+1);
printf("sizeof(c+1) = %d/n", sizeof(c+1));
Result:
sizeof(a) = 2
sizeof(b) = 2
sizeof(~a) = 4
sizeof(a + b) = 4
a + b = 60000
c+1 = 128
sizeof(c+1) = 4 例2
unsigned short a = 1234;
unsigned char b;
b = a;
printf("b = %d/n", b);
printf("a %% (255 + 1) = %d/n", a % 256); Result:
b = 210
a % (255 + 1) = 210 例3
short a = 1234;
unsigned char b;
b = a;
printf("b = %d/n", b);
printf("a %% (255 + 1) = %d/n", a % 256); Result:
b = 210
a % (255 + 1) = 210 例4
short a = -1234;
unsigned short b;
b = a;
printf("b = %d/n", b);
printf("a + (65535 + 1) = %d/n", a + 65536); Result:
b = 64302
a + (65535 + 1) = 64302
例5
double x;
int a = 10, b = 3;
x = a / b; /* x = 3.0 */
x = (double) a / (double) b; /* x = 3.333333 */
x = (double) a / b; /* x = 3.333333 */
x = (double) (a / b); /* x = 3.0 */ 例6
double x;
int a = 10, b = 3, c = 5, d = 2;
x = a / b + c / d; /* x = 5.0 */
x = (double) a / b + c / d; /* x = 5.333333 */
x = (double) a / b + (double) c / d; /* x = 5.833333 */