wtf.c:11:6: 错误:预期的声明说明符或 '...' 在 '&' 标记 Swap(&a, &b); 之前
wtf.c:11:10: 错误:预期的声明说明符或 '...' 之前的 '&' 标记 Swap(&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(&a, &b);
既不是声明也不是定义(它是函数调用),您有编译器错误
正如在评论中所说,任何 C 程序的入口点都是函数main,自动调用,以获取更多关于 C 的阅读文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句