注册 登录
编程论坛 C++教室

一点迷惑

black_eagle 发布于 2007-07-11 13:20, 674 次点击

哪位能告诉我为什么第二个行,而第一个不行?谢谢!

#include <iostream>
using namespace std;

//int x[100];
int func(int i,int r[])
{
return r[i];
}

void main()
{
int n;
cin>>n;
int *x=new int[n+1];
for(int i=0;i<=n;i++)
x[i]=i+100;

cout<<func(n,x)<<endl;
delete []x;
}
------------------------------------------------

#include <iostream>
using namespace std;

int x[100];
int func(int i,int r[])
{
return r[i];
}

void main()
{
int n;
cin>>n;
// int *x=new int[100];
for(int i=0;i<100;i++)
x[i]=i+100;

cout<<func(n,x)<<endl;
// delete []x;
}

[此贴子已经被作者于2007-7-11 14:35:27编辑过]

10 回复
#2
black_eagle2007-07-11 13:23
主函数中漏了两句:
int n; cin>>n;

相信不影响理解。
#3
stupid_boy2007-07-11 13:27

#include <iostream>
using namespace std;

//int x[100];
long int func(int i,int r[])
{
return r[i];
}

void main()
{
int *x=new int[100];
for(i=0;i<100;i++) //说,你的i是从哪里偷来的?
x[i]=i+100;

cout<<func(n,x)<<endl;
delete []x;
}


第二段代码也有同样的问题,以后自己先编译一下,再来问...


[此贴子已经被作者于2007-7-11 13:27:58编辑过]

#4
black_eagle2007-07-11 13:38
。。。。。。。。。。。。。。。。。。。。。。。。。
抓小放大,无语。。。
#5
stupid_boy2007-07-11 13:55

你这不是自己会调试嘛.

你的两段代码在你  [此贴子已经被作者于2007-7-11 13:49:22编辑过]   之后就已经都可以运行了..

#6
black_eagle2007-07-11 14:02

果真?你运行过?

我用的是VC6.0,第一个是有问题滴!不解才发到这里问问大家

#7
stupid_boy2007-07-11 14:18

我的VC已经通过..

可能是你的VC有问题吧..

#8
black_eagle2007-07-11 14:34

嘿嘿,你再把第一个运行下看看,我又改了下

#9
stupid_boy2007-07-11 14:44
我还是通过了...我不明白,楼主你到底想问什么.
#10
black_eagle2007-07-11 14:50
哦耶,知道是怎么回事了。今天中午吃饭吃多了,尽出些莫我其妙的小差错,让楼上的费神了
#11
野比2007-07-11 20:06
吃饭吃多了.... 搞不懂你..
1