无法在mac上执行C代码(最初在DevC++中执行)

标签 c macos gcc dev-c++

我在实验室系统(使用 Windows)上用 C 语言解决了这个简单的问题。我使用 DevC++ 编写了这段代码,它在 DevC++ 上运行,但我无法在我的 Mac 系统上编译相同的代码。

代码:

#include<stdio.h>
#include<stdlib.h>

int* oddSwap(int x, int y)
{
    int temp = x;
    x = y * 5;
    y = temp * 5;
    int *k;
    *k=x+y;
    return k;
}

int main()
{
    int x=5;
    int y=3;
    int *k=oddSwap(x,y);
    printf("\n%d", *k);
    return 0;
}

它在 Windows (DevC++) 上运行,但在 macOS (macOS 10.14.2) 上运行时收到此错误消息。

Bus error: 10

最佳答案

swap 函数没有多大意义,因为您仅在函数内交换参数,但结果随后使用交换运算符 + 组合两个值(因此为什么要交换?)。

并且您将一个值分配给一个不指向有效对象的指针:int *k; *k=x+y;。但无论如何,完整的操作对我来说没有意义。

也许您想要类似的东西:

void oddSwap(int *x, int *y)  {
   int temp = *x;
   *x = *y * 5;
   *y = temp * 5;
}

int main()
{
    int x=5;
    int y=3;
    oddSwap(&x,&y);
    printf("\n%d:%d", x,y);
    return 0;
}

关于无法在mac上执行C代码(最初在DevC++中执行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197834/

相关文章:

arrays - 数组的元素类型不完整。这是什么意思?

c - 如何验证,以便用户只能输入正整数

C for/while 循环不求和

python - PyCurl 安装不成功

linux - 如何从远程 SSH session 将数据发送到本地剪贴板

c - 为什么我的 scipy 构建失败了?

c - 匿名函数返回动态分配的值

c++ - 为什么 gcc 4.7.0 在这段代码上给我一个段错误,而在线 ideone(gcc 4.5.1) 却没有?

c - 全局静态/非静态变量如何在 c 中被破坏?

macos - 如何更改 Cocos2d-x 3.1 for Mac 目标中的起始屏幕尺寸?