页次: 1
update: 楼主犯了简单的错误。。。
------------------------------------
代码如下,逻辑很简单,但运行结果不是预料中的,真是困扰。
serverArry[num]= num; 这一句并不能生效,serverArry[num]的值一直是0;
而使用serverArry[a] 或 serverArry[1]这样的形式,就可以给 serverArry[a]赋值了。
所以问题出在哪里呢?
#include <iostream>
using namespace std;
int main(){
int m = 10;
int *serverArry = new int[m];
for(int i=0;i<m;i++)
{
serverArry[i] = 0;
}
int pathCross[100];
for(int i = 0 ;i<100;i++){
pathCross[i] = i+1;
}
int num = 0;
for(int a= 1;a<10;a++)
{
if(pathCross[a]>0)
{
cout<<"serverArry"<<num<<"is"<<serverArry[num]<<endl;
cout<<"num is"<<num<<endl;
serverArry[num]= num;
num++;
cout<<"serverArry"<<num<<"now is"<<serverArry[num]<<endl;
}
cout<<endl;
}
}
最近编辑记录 hounh (2017-03-27 17:50:56)
离线
没看出来哪有问题。。。
于是乃预料的是神马呢喵?
离线
没看出来哪有问题。。。
于是乃预料的是神马呢喵?
我在一楼补充了~
离线
num++; 应该放在 cout<<"serverArry"<<num<<"now is"<<serverArry[num]<<endl; 这句之后。
因为在它之前的话 num 的值已经变了,serverArry[num] 是下一个了,不是你改变之后的
离线
神楽坂桐枝 说:没看出来哪有问题。。。
于是乃预料的是神马呢喵?
我在一楼补充了~
然而我也没看出来哪里有问题啊。
离线
没明白你什么意思,赋值肯定成功了啊,但你每次输出的都是还没赋值的数组元素(下一个),当然全是0了。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
num++; 应该放在 cout<<"serverArry"<<num<<"now is"<<serverArry[num]<<endl; 这句之后。
因为在它之前的话 num 的值已经变了,serverArry[num] 是下一个了,不是你改变之后的
明白了。
捂脸。。。
离线
页次: 1