#include <stdio.h> //值传递、地址传递、引用传递 int main(){ int a0 = 4,b0 = 6; int a1 = 4,b1 = 6; int a2 = 4,b2 = 6; //值传递 Exchg1(a0, b0);printf("a0 = %d, b0 = %d.\n", a0, b0); //地址传递 Exchg2(&a1, &b1);printf("a1 = %d, b1 = %d.\n", a1, b1); //引用传递 Exchg3(a2, b2);printf("a2 = %d, b2 = %d.\n", a2, b2); } //考题一,程序代码如下(值传递): void Exchg1(int x, int y){ int tmp; tmp = x; x = y; y = tmp; printf("x = %d, y = %d ", x, y); } //输出的结果为:x = __6__, y=__4__.a = __4__, b=__6__. //考题二,程序代码如下(地址传递): void Exchg2(int *px, int *py){ //int *px=&a;int *py=&b; int tmp = *px; *px = *py; *py = tmp; printf("*px = %d, *py = %d ", *px, *py); } //输出的结果为为:*px=__6__, *py=__4__.a=__6__, b=__4__. //考题三,程序代码如下(引用传递): void Exchg3(int &x, int &y){ //x、y分别引用了a、b变量 int tmp = x; x = y; y = tmp; printf("x = %d,y = %d ", x, y); }/****/ //输出的结果为为:x=__6__, y=__4__.a=__6__, b=__4__.
我在cpp(c++)中编译成功但是在,在c(c)文件中编译不成功,c是否不支持Exchg3(int &x,int &y)语法?