我有一塊代碼,我看到一個警告說等效用C模量(算術運算功能)的?
我正在做有符號和無符號數字之間的比較。
喜歡的東西INT < =常數/的sizeof(表達)
什麼是糾正這一點的最好方法是什麼?我相信取有號碼的模數然後做比較吧?我的意思是在sizeof運算符除以表達式後得到無符號數。所以其他的方式可能是讓這個RHS簽署
如果是的話是有C中的函數,它可以讓我做到這一點?我做了一個快速搜索,他們說%的模數顯然不是我正在尋找的。
這是實際的警告
警告:符號和無符號整數表達式之間
比較和這是代碼
泛函的實際線(.... ..,INT NUM,.....){
斷言(NUM < = MAX_SIZE /的sizeof(INT)); //這裏MAX_SIZE是的#define MAX_SIZE 1000
}
如果您在問題中提到了警告和錯誤,您可能需要記下實際的警告,而不是您的近似版本。如果你能讓它伴隨一些相關的代碼,那會更好。 – Bart
添加上面的原始代碼和警告。 – Manish
問題是,'num'可能需要的預期允許範圍是多少?與尺寸相關的表達式讓我確實想知道使用模運算符還是'abs'函數的目標可能是什麼? – moooeeeep