我有以下代码INT_MIN/-1
。我希望这个结果是 INT_MAX+1(或 0 翻转)。但是,我得到的实际结果是 INT_MIN。这是我的测试代码:
#define __STDC_LIMIT_MACROS
#include <stdint.h>
#include <stdio.h>
#include <limits.h>
using namespace std;
int main()
{
int min=INT_MIN;
int res=min/-1;
printf("result: %i\n", res);
printf("max: %i min: %i\n", INT_MAX, INT_MIN);
return 0;
}
这个实现是特定的和/或未定义的行为吗?