【发布时间】:2014-11-07 11:40:05
【问题描述】:
我用 C++ 编写了一个小代码,它接受输入一个数组,这将被反转。 第一个变成最后一个,第二个变成倒数第二个,依此类推…… 这里是代码:
#include <iostream>
using namespace std;
const int length=3;
void exch(int arr_exch[]){
int s,e,tmp;
s=0;
e=length-1;
while ((e-s!=1)||(e-s!=0)){
tmp=arr_exch[s];
arr_exch[e]=arr_exch[s];
arr_exch[s]=tmp;
s=s+1;
e=e-1;
}
}
int main()
{
int arr[length],counter;
cout << "enter "<< length <<" integers:\n";
for (counter=0; counter<length; counter++){
cin >> arr[counter];
}
exch (arr[]); **<--- here the error "expected primary expression before ']' token.**
for (counter=0; counter<length; counter++){
cout << arr[counter]<<"\t";
}
return 0;
}
错误是 - 目前 - 分段错误和“在 ']' 标记之前的预期主表达式。我不知道如何更正它。有人可以帮助我吗?提前致谢。
【问题讨论】:
-
如果您的代码甚至无法编译,您是如何设法获得分段错误(这是一个运行时)错误?为什么不使用空格和缩进来格式化代码?为什么不使用调试器?
-
做一个天使,正确地格式化你的代码。如果你这样做会更容易阅读。
-
@TheParamagneticCroissant:也许编译器在尝试编译此代码时执行了分段错误(我很确定我会这样做)。
-
@barakmanos 哈哈,很公平:D
-
@alf - 好吧,它可能是真正的代码。问题是人们倾向于编译,然后运行剩下的任何 a.out :-(
标签: c++