求for语句代码的注释,见问号部分,谢谢

求for语句代码的注释,见问号部分,多谢。
/*

题目:编码实现对一副扑克(52张)的洗牌程序, 并打印出来
时间:2013年5月8日 星期三
目的:
功能:

*/

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(void)

//黑桃:spade,红心:hearts,梅花:flower,方块:diamonds
char* poker[52] = //指针数组,定义了52个指针。
{
"S2","S3","S4","S5","S6","S7","S8","S9","S10","SJ","SQ","SK","SA",
"H2","H3","H4","H5","H6","H7","H8","H9","H10","HJ","HQ","HK","HA",
"F2","F3","F4","F5","F6","F7","F8","F9","F10","FJ","FQ","FK","FA",
"D2","D3","D4","D5","D6","D7","D8","D9","D10","DJ","DQ","DK","DA",
};

int number[52];
int i = 0;//获取随机数 存储至数组number中,i为下标。

//time_t t;//time_t中储存的是从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。
 //所定义的biggest为0x 07 FF FF FF,换算为十进制是134217727,134217727秒÷60(秒/分)÷60(分/小时)÷24(小时/天)÷365(天/年)约为4.256年,因此最后结果为1974年。
srand((unsigned)time(NULL));//使用当前时间作为随机数种子来获取真正的随机数

for (;;)//while (true)
{
int temporay = rand() % 52;//0-51随机数字。
bool result = false;//是否取过

for (int j = 0; j < i; j++)
{
if (temporay == number[j])//??????????????
{
result = true;
break;
}
}

if (result == false)//??????????
{
number[i++] = temporay;
}

if (i == 52)//??????????
{
break;
}
}

//输出扑克牌,每13张换行一次
for (int k = 0; k < 52; k++)
{
if (k % 13 == 0)
{
printf("\n");
}

printf("%s   ", poker[number[k]]);//输出所有花色扑克。
}

printf("\n");

return  0;
}

/*

在VC2010里的输出结果:
————————————————————————
SA   SK   S10   D5   HA   DK   HQ   S6   H8   F8   SJ   S9   FK
F4   S4   DA   S2   HK   F2   H3   F9   D10   H4   F5   D9   SQ
F6   D7   H9   S3   D4   DJ   H2   D3   H6   FJ   S7   H5   FQ
S8   F10   DQ   F7   HJ   D6   D8   S5   D2   FA   F3   H10   H7   
请按任意键继续. . .
————————————————————————

*/

------解决思路----------------------

    for (;;)//while (true)
    {
        int temporay = rand() % 52;//0-51随机数字。
        bool result = false;//是否取过
 
        for (int j = 0; j < i; j++)
        {
            if (temporay == number[j])//遍历已经选出的i张牌,检查与当前的随机牌是否相同
            {
                result = true;
                break;
            }
        }
 
        if (result == false)//已选的牌没有于当前重复的
        {
            number[i++] = temporay;
        }
 
        if (i == 52)//总选出的牌数达到52
        {
            break;
        }
    }

不过建议不要无限循环 比如

    int number[52];
    bool selected[52];

    srand((unsigned)time(NULL));

    for (int i = 0; i < 52; ++i)
    {
        int temp = rand() % 52;
        while (selected[temp]) {
            ++temp;
            if (temp >= 52) {
                temp -= 52;
            }
        }
        number[i] = temp;
        selected[temp] = true;
    }

------解决思路----------------------
每次抽出一张牌
1. 判断抽出的牌是否曾经抽出过,以前没抽到过的算有效
2. 判断有效的是否52张了,也就是所有牌都抽到过了(洗牌完成)