Ryota__ 2019-07-05 22:42 采纳率: 100%
浏览 231
已采纳

为什么我用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
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-07-06 09:33
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)