以下交换值得函数为何在.c格式下报错,.cpp才成功;而且报错为何成swap()函数未定义?C语言在主函数前先声明,后定义不是正常的吗
#include
#include
void swap(int &x, int &y);
int main() {
int a = 2, b = 3;
swap(a, b);
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
void swap(int &x, int &y) {
int t;
t = x;
x = y;
y = t;
return;
}
C语言不支持引用型参数(&)
C语言的写法
void swap(int *x, int *y);
int main() {
int a = 2, b = 3;
swap(&a, &b);
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
void swap(int *x, int *y) {
int t;
t = *x;
*x = *y;
*y = t;
return;
}