小编Fur*_*qan的帖子

为什么unsigned int 1低于char y -1?

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时,我得到了预期的结果.

c

8
推荐指数
1
解决办法
527
查看次数

为什么这会产生浮点异常?

这是维基百科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?

c floating-point-exceptions

3
推荐指数
1
解决办法
357
查看次数

如何交换void指针的内容?

我正在创建一个函数,它接收任何数据类型的数组并反转它的元素.

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指针?

c++

2
推荐指数
1
解决办法
1224
查看次数

标签 统计

c ×2

c++ ×1

floating-point-exceptions ×1