分页: 1 / 1

[问题]Linux C......

发表于 : 2008-07-11 16:29
sjbird331
今天在Linux下写传址的程序,没想到竟然和VC下的差别那么多,下面就是我用vim写的程序:
#include <stdio.h>

void f(int &a)
{
a = 3;
}

int main()
{
int i;
f(i);
printf("%d\n",i);
return 0;
}

用gcc编译后,提示错误:error: expected ';', ',' , or ')' before '&' token
可是当我在VC中编写源程序为:
#include <iostream.h>

void f(int &a)
{
a = 3;
}

void main()
{
int i;
f(i);
cout << i << "\n";
}
VC却显示了 3
我很纳闷,难道我用的不是标准C吗?请教论坛上的高手,谢谢

发表于 : 2008-07-11 16:32
BigSnake.NET
LZ 在写 C 还是 C++ 。。

发表于 : 2008-07-11 16:34
bones7456
BigSnake.NET 写了:LZ 在写 C 还是 C++ 。。

发表于 : 2008-07-11 16:38
solcomo
用g++

Re: [问题]Linux C......

发表于 : 2008-07-11 19:47
kofshower
sjbird331 写了:今天在Linux下写传址的程序,没想到竟然和VC下的差别那么多,下面就是我用vim写的程序:
#include <stdio.h>

void f(int &a)
{
a = 3;
}

int main()
{
int i;
f(i);
printf("%d\n",i);
return 0;
}

用gcc编译后,提示错误:error: expected ';', ',' , or ')' before '&' token
可是当我在VC中编写源程序为:
#include <iostream.h>

void f(int &a)
{
a = 3;
}

void main()
{
int i;
f(i);
cout << i << "\n";
}
VC却显示了 3
我很纳闷,难道我用的不是标准C吗?请教论坛上的高手,谢谢
VC g++两边写的都可以作为反面教材

Re: [问题]Linux C......

发表于 : 2008-07-11 20:13
yjcong
kofshower 写了:
sjbird331 写了:今天在Linux下写传址的程序,没想到竟然和VC下的差别那么多,下面就是我用vim写的程序:
#include <stdio.h>

void f(int &a)
{
a = 3;
}

int main()
{
int i;
f(i);
printf("%d\n",i);
return 0;
}

用gcc编译后,提示错误:error: expected ';', ',' , or ')' before '&' token
可是当我在VC中编写源程序为:
#include <iostream.h>

void f(int &a)
{
a = 3;
}

void main()
{
int i;
f(i);
cout << i << "\n";
}
VC却显示了 3
我很纳闷,难道我用的不是标准C吗?请教论坛上的高手,谢谢
VC g++两边写的都可以作为反面教材
lz被批判的太.....

发表于 : 2008-07-11 20:44
kofshower
一直赞成实践的啊。可是起码也要把书看了一遍再说啊。
建议看看The C++ Programming Language 和 The C Programming Language。熟悉其他语言的话看看例子和思考题就ok了

发表于 : 2008-07-11 21:09
sjbird331
谢谢大家的教诲,但是我还是不明白,我的前段程序难道不能称为LinuxC吗?最近也不知道该找一本什么样的书作为LinuxC的资料,刚才winodws下转过来实在有点不适应 ^_^

发表于 : 2008-07-11 21:11
BigSnake.NET
C 是没有传引用的,C++ 才有

发表于 : 2008-07-11 21:14
kofshower
噢 推荐鱼头书 和 K&C,其实ISO c的话和平台无关,windows那个c++那样些有一半的几率是不成的

发表于 : 2008-07-11 21:28
sjbird331
难怪我下午老是gcc不行,可惜机子上是Ubuntu不是XP,所以觉得自己非常菜鸟,一切都得从新开始的 呵呵 希望大家有空QQ群聊 群号:65456531