阴天搁浅的航 2021-11-21 20:31 采纳率: 71.4%
浏览 15
已结题

这个for循环的条件是啥意思,程序运行的顺序和思路,最后结果是啥,谁能细致的讲一下,帮帮我吧

#include <iostream>

using namespace std;

int main()
{
     int a[4]={2,4,6};
     int y=0,*p=a;
     for(;*p++;)
        if(*p)
        y+=*p;
     cout << y;

}


  • 写回答

1条回答 默认 最新

  • 五一编程 2021-11-21 20:45
    关注

    p指向a[0],p++,就是p指向下一个位置a[1] 再取值为4 for循环判断4不等于0 if 判断 4不等于0 y加4,然后p++移到下一个位置a[2],取值为6 for循环判断6不等于0 if 判断 6不等于0 y加6
    最后结果为10

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

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月21日

悬赏问题

  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物