c程序在vc6可以执行,但使用在线编译器不可以?

很简单的交换程序,使用 Online c compiler出现的错误 。

c语言没有引用类型,vc6成功是因为用c++编译的,在在线编译器中将你的语言选择为c++,也能成功编译。追问

多谢,在线编译器可以使用了。另外,我将这个调了一下,改成了如图所示,C可以正常运行。可以帮忙解释一下*和&在C里以及C++里的定义吗。目前我知道*是地址符,&是取地址。

追答

int*是指针类型,需传递一个int型变量的地址,如:
void f(int *p)
{}
int a;
f(&a);

int&是c++的引用类型,传变量本身就行了,如:
void g(int &r)
{}
int b;
f(b);

应该是g(b);

追问

第一段代码可以理解,是指针操作;第二段不太明白,求解释。
另外我可以理解成:*操作可以在C/C++使用;但是&操作在C中会识别为取地址,C++中理解为引用,这样吗?

温馨提示:答案为网友推荐,仅供参考
相似回答