+ -
当前位置:首页 → 问答吧 → 太邪门了,这段代码为何不会被执行?

太邪门了,这段代码为何不会被执行?

时间:2011-11-30

来源:互联网

C/C++ code

#include<iostream>
#include<stdlib.h>
using namespace std;
class Coordinate
{
private:
   
public:
    string state;                        //坐标状态
    int x,y,life;                              //坐标以及该坐标上棋子的气数
    Coordinate()
    {    
        state="empty";                    //初始化气数为4
        life=4;
    }
    void GetPiece(string color)           //落子
    {
        state=color;
    }                     
    void lifeReduce()                   //气数减少,并判断棋子是否生存,传入参数为坐标类型
    {
        life--;                          //气数减少
        /*if(life==0&&state.compare("black")==true)              //判断棋子是否生存,在边上的棋子,只要life为1时,就必须被消灭,在角上的,life为2时被消灭,其他life为0时被消灭
            state="empty";
        else if(life==0&&state.compare("white")==true)
            state="black";*/
    }
};
class Chessboard
{    
public:
    int Size;
    Coordinate **goBoard;
    Chessboard()                                                   //构造具有19*19个坐标的棋盘
    {
        int choice;
mark:
        cout<<"请选择棋盘类型:1默认;2.自定义"<<endl;
        cin>>choice;
        if(choice==1)
        {
            Size=19;
            SetChessboard(Size);
        }
        else if(choice==2)
        {    
            cout<<"请输入棋盘大小"<<endl;
            cin>>Size;
            SetChessboard(Size); 
        }
        else
        {    
            cout<<"你的选择不正确!"<<endl;
            goto mark;
        }
    }
    void SetChessboard(int Size)                                   //构造具有size*size个坐标的棋盘
    {
        int i,j;
            // if((goBoard=(Coordinate**)malloc(Size*sizeof(Coordinate*)))==NULL)
        if( ( goBoard = new Coordinate*[Size] ) == NULL )          //用来存放指针的数组,其首要地址即指针的指针
        {    
            cout<<"内存初始化失败"<<endl;
            exit(0);
        }
        for(i=0;i<=Size;i++)
        {
            //if((goBoard[i]=(Coordinate*)malloc(Size*sizeof(Coordinate)))==NULL)
            if((goBoard[i] = new Coordinate[Size]()) == NULL )
            {
                cout<<"内存初始化失败"<<endl;
                exit(0);
            }
        } 
        for(i=0;i<Size;i++)                               //处理棋盘边界问题(如题,这段代码未能如预期的执行)
            for(j=0;j<Size;j++);
            {
                cout<<"fuckfuck"<<endl;
                if(j%(Size-1)==0&&i%(Size-1)==0)
                {    goBoard[i][j].life=goBoard[i][j].life-2;
                }
                if((i%(Size-1)==0&&j%(Size-1)!=0)||(i%(Size-1)!=0&&j%(Size-1)==0))
                    goBoard[i][j].life--;    
            }
        cout<<"棋盘初始化完成!11"<<endl;
    }
};
void main()
{
    Chessboard cboard;
         cout<<cboard.Size<<endl;
    cout<<cboard.goBoard[0][0].life<<endl;
    //cout<<cboard.goBoard[0][0].state<<endl;
    system("pause");
}


作者: blackeagleX   发布时间: 2011-11-30

for(j=0;j<Size;j++);

作者: mougaidong   发布时间: 2011-11-30

for(j=0;j<Size;j++);

作者: mougaidong   发布时间: 2011-11-30

为了表示我的愤懑情绪,我在那里句cout<<"fuck,fuck"<<endl;,结果fuckfuck只被打印了一次

作者: blackeagleX   发布时间: 2011-11-30

LS正解

作者: w233052085   发布时间: 2011-11-30

笔误了

作者: wtbike   发布时间: 2011-11-30

引用 2 楼 mougaidong 的回复:

for(j=0;j<Size;j++);
一时手滑了一下,居然把我卡了半天,惭愧啊!

作者: blackeagleX   发布时间: 2011-11-30

每个人都会有这种事情,LZ淡定。

作者: only_lonely   发布时间: 2011-11-30

引用 2 楼 mougaidong 的回复:
for(j=0;j<Size;j++);

粗心惹下的大祸 淡定

作者: wanyuan19890515   发布时间: 2011-11-30

该回复于2011-11-30 14:24:43被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#10楼 得分:0回复于:2011-11-30 14:45:05
C/C++ code


for(i=0;i<Size;i++)                               //处理棋盘边界问题(如题,这段代码未能如预期的执行)
            for(j=0;j<Size;j++)[color=#FF0000];[/color]
            {
                cout<<"fuckfuck"<<endl;
                if(j%(Size-1)==0&&i%(Size-1)==0)
                {    goBoard[i][j].life=goBoard[i][j].life-2;
                }
                if((i%(Size-1)==0&&j%(Size-1)!=0)||(i%(Size-1)!=0&&j%(Size-1)==0))
                    goBoard[i][j].life--;    
            }
        cout<<"棋盘初始化完成!11"<<endl;





注意红色的分号

作者: chaoyue0724   发布时间: 2011-11-30

嘛...注意分号....

作者: skyworth98   发布时间: 2011-11-30

单步调试和设断点调试是程序员必须掌握的技能之一。

作者: tuccty   发布时间: 2011-11-30

嘛···哈哈哈
编程要细心哦!
引用 11 楼 tuccty 的回复:
嘛...注意分号....

作者: zhao4zhong1   发布时间: 2011-11-30

严重同意!!
不过lz的问题,单步还不一定能发现的呢
引用 12 楼 zhao4zhong1 的回复:
单步调试和设断点调试是程序员必须掌握的技能之一。

作者: boluomianbao   发布时间: 2011-11-30