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);
我希望它至少可以汇编本书中的确切示例,但显然不可能。
答案 0 :(得分:2)
#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的更多阅读文档