6. 有符号和无符号比较


void demo()
{
	int a = -10;
	uint32_t c = 6;


	if (a < c) {
		printf("1 a < c\r\n");
	} else {
		printf("1 a > c\r\n");  // 打印这里 错误
	}

	if (a < (int)c) {
		printf("2 a < c\r\n");  // 打印这里 正确
	} else {
		printf("2 a > c\r\n");
	}


	if ((uint32_t)a < c) {
		printf("3 a < c\r\n");
	} else {
		printf("3 a > c\r\n");// 打印这里 错误
	}

	if ((a - c)<0) {
		printf("4 a < c\r\n");
	} else {
		printf("4 a > c\r\n");// 打印这里 错误
	}

	if ((int)(a - c) < 0) {
		printf("5 a < c\r\n");// 打印这里 正确
	} else {
		printf("5 a > c\r\n");
	}

	if ((a - (int)c) < 0) {
		printf("6 a < c\r\n");// 打印这里 正确
	} else {
		printf("6 a > c\r\n");
	}

	if ((a - c) < (int)0) {
		printf("7 a < c\r\n");
	} else {
		printf("7 a > c\r\n");// 打印这里 错误
	}
}