您尚未登录。

#1 2017-03-27 00:29:11

hounh
会员
注册时间: 2015-03-15
帖子: 47

[已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

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)

离线

#2 2017-03-27 10:01:30

神楽坂桐枝
巫女
所在地: 无垢花园
注册时间: 2016-07-23
帖子: 9
个人网站

Re: [已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

没看出来哪有问题。。。

于是乃预料的是神马呢喵?

离线

#3 2017-03-27 11:57:50

hounh
会员
注册时间: 2015-03-15
帖子: 47

Re: [已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

神楽坂桐枝 说:

没看出来哪有问题。。。

于是乃预料的是神马呢喵?

我在一楼补充了~

离线

#4 2017-03-27 13:29:25

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

Re: [已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

num++; 应该放在 cout<<"serverArry"<<num<<"now is"<<serverArry[num]<<endl;  这句之后。
因为在它之前的话 num 的值已经变了,serverArry[num] 是下一个了,不是你改变之后的

离线

#5 2017-03-27 13:32:06

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,432
个人网站

Re: [已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

hounh 说:
神楽坂桐枝 说:

没看出来哪有问题。。。

于是乃预料的是神马呢喵?

我在一楼补充了~

然而我也没看出来哪里有问题啊。

离线

#6 2017-03-27 15:58:58

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 1,267

Re: [已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

没明白你什么意思,赋值肯定成功了啊,但你每次输出的都是还没赋值的数组元素(下一个),当然全是0了。


反社会,精神极其不稳定,随时可能炸碎身边所有人

离线

#7 2017-03-27 17:48:30

hounh
会员
注册时间: 2015-03-15
帖子: 47

Re: [已解决,一时脑袋进水了]C++ 中遇到的奇怪的问题

jouyouyun 说:

num++; 应该放在 cout<<"serverArry"<<num<<"now is"<<serverArry[num]<<endl;  这句之后。
因为在它之前的话 num 的值已经变了,serverArry[num] 是下一个了,不是你改变之后的

明白了。
捂脸。。。

离线

页脚