为什么我用codeclocks写的for里的if不运行

for(i=0;i<N;i++)
{

    if((p+i)->classNo==c)
        {sum=0;
            sum=(p+i)->score[0]+(p+i)->score[1]+(p+i)->score[2];
            if(s=='>'&&sum>scoreSum)
                Output(p+i);
            else if((s=='<')&&(sum<scoreSum))
                Output(p+i);
            else
                printf("不存在\n");
                break;
        }
}

满足if的要求可是不执行,用的codeblocks

调试下,编译器肯定不会错的。
你的问题描述不清,代码也不完整,不知道你说的是内、外哪个if,也无法判断你sum scoreSum s (p+i)->classN c是多少,所以无法知道你究竟哪里错了。
但是你完全可以通过调试,跟踪这些变量的值搞清楚问题所在。特别关注下,i是否越界,p,p+i所在的结构体是否正确分配