这个改变优先级的代码哪里错了?谢谢

for(i=0;i<nSize;i++)   
        {
            do    
            {    
                if(stud[i].eventdate.day==day
                    &&stud[i].eventdate.month==month
                    &&stud[i].eventdate.year==year) 
                    stud[i].level = stud[i].level+1;         
            }
            while(stud[i].eventdate.day==day
                &&stud[i].eventdate.month==month
                &&stud[i].eventdate.year==year
                &&stud[i].level==level); 
        }  
 for(i=0;i<nSize;i++)   
        {
           while(stud[i].eventdate.day==day
                &&stud[i].eventdate.month==month
                &&stud[i].eventdate.year==year
                &&stud[i].level==level)   
            {    
                if(stud[i].eventdate.day==day
                    &&stud[i].eventdate.month==month
                    &&stud[i].eventdate.year==year) 
                    stud[i].level = stud[i].level+1;         
            } 
        }
 #include<stdio.h>

int main()
{
    int arr[5] = { 1, 2, 3, 4, 5 };
    int i = 0;
    for (i = 0; i < 5; i++)
    {
        printf("%d\t", arr[i]);
    }
    printf("\n");
    int _level = 2;


    for (i = 0; i < 5; i++)
    {
        do    
        {    
            arr[i] = arr[i] + 1;
        }
        while (arr[i] == _level);
    }


    for (i = 0; i < 5; i++)
    {
        printf("%d\t", arr[i]);
    }
    printf("\n");
}

1 2 3 4 5
3 3 4 5 6
Press any key to continue

这是你原来的代码,简化下


#include<stdio.h>

int main()
{
    int arr[5] = { 1, 2, 3, 4, 5 };
    int i = 0;
    for (i = 0; i < 5; i++)
    {
        printf("%d\t", arr[i]);
    }
    printf("\n");
    int _level = 2;

    i = 0;
    while (arr[i++] == _level) ;
    while (i < 5)    
    {    
        arr[i] = arr[i] + 1;
        i++;
    }

    for (i = 0; i < 5; i++)
    {
        printf("%d\t", arr[i]);
    }
    printf("\n");
}

1 2 3 4 5
1 3 4 5 6
Press any key to continue

我猜你要的是这个。