main() {
unsigned x = 1;
char y = -1;
if (x > y)
printf("x>y");
else
printf("x<=y");
}
Run Code Online (Sandbox Code Playgroud)
我期待x> y.但当我将unsigned int更改为signed int时,我得到了预期的结果.
这是维基百科SIGFPE 页面的第二个例子.
#include <limits.h>
int main(void)
{
volatile int x=INT_MIN;
volatile int y=-1;
x=x/y;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它将符号反转为INT_MIN的正数.怎么可能是FPE?
我正在创建一个函数,它接收任何数据类型的数组并反转它的元素.
void f(void *p, int size)
{
for(int i=0; i<=size/2; i++)
{
swap(p+i, p+size-i-1);
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是如何实现交换函数交换其内容而不取消引用void指针?