gpt4 book ai didi

c - Essential C 书中的 Swap() func 无法编译

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:36 25 4
gpt4 key购买 nike

wtf.c:11:6: 错误:预期的声明说明符或“&”标记前的“...”交换(&a, &b);

wtf.c:11:10: 错误:预期的声明说明符或“...”在“&”标记之前 交换(&a, &b);

不想求助于 StackOverflow 来解决我的个人问题,但我无法弄清楚。代码和书上的完全一样。我也试过制作分离的指针并将它们用作参数,但我得到了同样的错误。有人可以阐明我做错了什么吗?我正在使用 gcc 编译代码。

static void Swap(int *x, int *y){
int temp;
temp = *x;
*x = *y;
*y = temp;
}

int a = 1;
int b = 2;

Swap(&a, &b);

我希望它至少能编译出书中的确切示例,但显然这不可能。

最佳答案

#include <stdio.h>

static void Swap(int *x, int *y){
int temp;
temp = *x;
*x = *y;
*y = temp;
}

int main()
{
int a = 1;
int b = 2;

Swap(&a, &b);
printf("%d %d\n", a, b);
return 0;
}

编译和执行打印“2 1”,你可以看到 swap 有效


由于 Swap(&a, &b); 不是声明也不是定义(它是函数调用)的形式,你遇到了编译器错误

正如备注中所述,任何 C 程序的入口点都是函数 main,它会自动调用,有关 C 的更多信息请阅读文档

关于c - Essential C 书中的 Swap() func 无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com