我有一段代码,我看到一条警告说
我正在比较有符号数和无符号数。
像 int <= CONSTANT/sizeof(expression)
纠正此问题的最佳方法是什么?我相信取有符号数的模数然后进行比较,对吗?我的意思是在表达式上除以 sizeof 运算符后得到无符号数。所以另一种方法可能是让这个 rhs 签名
如果是这样,c中有一个函数可以让我这样做吗?我做了一个快速搜索,他们说 % for modulo 这显然不是我想要的。
这是实际的警告
警告:有符号和无符号整数表达式之间的比较
这是实际的代码行
函数A(......,整数,......){
assert( num <= MAX_SIZE/sizeof(int));//其中 MAX_SIZE 是 #define MAX_SIZE 1000
}