Q: 下面的代码输出是什么,为什么?
void test(void)
{
unsigned int a = 6;
int b = -10;
((a + b) > 0) ? printf("a + b > 0\r\n") : printf("a + b < 0\r\n");
printf("a + b = %d\r\n", a + b);
}
A:
废话,输出是:
a + b < 0
a + b = -4
但是,上机实际跑一跑,真的是这样的吗?
编写程序如下:
#include <stdio.h>
#include <stdlib.h>
void test(void) {
unsigned int a = 6;
int b = -10;
((a + b) > 0) ? printf("a + b > 0\r\n") : printf("a + b < 0\r\n");
printf("a + b = %d\r\n", a + b);
printf("b 的整形:%d\r\n", b);
printf("b 的无符号整形:%u\r\n", b);
printf("b 的