初学者提问:扑克牌程序的一点问题
我是程序初学者,最近学习c#制作扑克牌的程序时,遇到个小问题,希望能得到指点:原程序 :
public Deck()
{
cards = new Card[52];
for (int suitVal = 0;suitVal < 4;suitVal++)
{
for (int rankVal = 1;rankVal < 14;rankVal++)
{
cards[suitVal * 13 + rankVal - 1] = new card((Suit)suitVal,(Rank)rankVal);
}
}
}
这段程序中我想问的是,rankVal为什么是从1开始计数?可以从0开始吗?也就是说
如果改成
for (int rankVal = 0;rankVal < 13;rankVal++)
{
cards[suitVal * 13 + rankVal] = new card((Suit)suitVal,(Rank)rankVal);
}
与原程序的意义是否相同?会否有其他影响 ?
[ 本帖最后由 czxuan 于 2011-4-5 13:22 编辑 ]