首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

值传递的有关问题

2012-03-23 
值传递的问题#includestdio.hvoidchange(int&x,int&y){inttemptempxxyytemp}intmain(intargc,cha

值传递的问题
#include   <stdio.h>
void   change(int   &x,   int   &y)
{
int   temp;
temp   =   x;
x   =   y;
y   =   temp;
}

int   main(int   argc,   char   *argv[])
{
int   a   =   5,   b   =   10;
change(a,   b);
printf( "a=%d,b=%d ",   a,b);
return   0;
}

在sco   unix下编译怎么会提示出错呢?
cc   -o   main   main.c
"main.c ",   line   3.17:   1506-277   (S)   Syntax   error:   possible   missing   ') '   or   ', '?
"main.c ",   line   3.13:   1506-172   (S)   Parameter   type   list   for   function   change   contains   parameters   without   identifiers.
"main.c ",   line   3.21:   1506-172   (S)   Parameter   type   list   for   function   change   contains   parameters   without   identifiers.
"main.c ",   line   6.16:   1506-045   (S)   Undeclared   identifier   x.
"main.c ",   line   7.13:   1506-045   (S)   Undeclared   identifier   y.



[解决办法]
楼主说的这种的交换我好像在哪本书上看到过,说是“直接操作实参法”,但我在tc devc vc下面从来就没有实现过,倒是下面的方法(书上也讲到过的),容易理解些!
#include <stdio.h>
void change(int *x, int *y)
{
int temp;
temp=*x;
*x = *y;
*y =temp;
}

int main(int argc, char *argv[])
{
int a=5, b=10 ;
change(&a, &b);
printf( "a=%d,b=%d ", a,b);
getch();
return 0;
}
[解决办法]
引用好象是C++的东西啊.你用的可能是C编译器?
[解决办法]
自己Unix下编译器的问题罗
[解决办法]
试一下:
g++
gcc
[解决办法]
LZ
你的程序在为我的VC++6.0可以正常编译运行。
[解决办法]
c++才有引用!
[解决办法]
对,C是没有引用的,只能用指针,是C编译器的问题

热点排行