想问一下这个代码是什么意思,完全不理解。他是用了for语句嘛还是啥

int CheckIfExist(char *User,char *C,struct stu_information *s)
{
int i;
for(i=0;i<num;i++)
{
if(strcmp(User,s[i].mailbox)==0)
{
if(strcmp(C,s[i].Cipher)==0)
return 1;
else
return 0;
}

}
return -1;

}

用了for语句与if语句,代码注释如下,这个代码应该是用来判断stu结构体中是否存在User、C,并返回相应的值:

int CheckIfExist(char* User, char* C, struct stu_information* s)
{
    int i;
    for (i = 0; i < num; i++)
    {
        if (strcmp(User, s[i].mailbox) == 0) //如果User与s[i].mailbox相同,进入if语句块
        {
            if (strcmp(C, s[i].Cipher) == 0) //如果C与s[i].Cipher相同,函数返回1,并结束函数,否则返回0,并结束函数
                return 1;
            else
                return 0;
        }

    }
    return -1;        //如果不存在User与s[i].mailbox相同,则函数返回-1
}