2.2.8 关于有符号与无符号数的建议

来看另外两个视频中的例子
一:

for(unsigned i = n - 1; i >= 0; i --) {
	...
}

显然上面的函数会无限循环。对于下面的函数

for(int i = n - 1; i - sizeof(char) >= 0; i --) {
	...
}

实际上也是无限循环。注意到sizeof()不是函数而是内置运算符,返回的数据为无符号类型,于是i - sizeof(char)也是无符号类型
二:

int abs(int x) {
	if (x < 0) {
		return -x;
	} else {
		return x;
	}
}

image

posted @ 2025-07-17 15:03  最爱丁珰  阅读(3)  评论(0)    收藏  举报