zoukankan      html  css  js  c++  java
  • 练习4.31、4.32、4.33

    4.31:本节的程序使用了前置版本的递增运算符和递减运算符,解释为什么要用前置版本而不用后置版本。要想使用后置版本的递增递减运算符需要做哪些改动?使用后置版本重写本节的程序。

    Ans:根据情况而定,若使用后置版本,那么如果只是使用运算对象的原始值而不需要使用递增后的值,那么后置版本就会继续递增运算对象的值,出现额外的操作,这样降低了程序的性能。

    4.32:解释下面这个循环的含义。

    constexpr int size = 5;

    int ia [size]={1,2,3,4,5};

    for(int *ptr=ia,ix=0; ix!=size&& ptr !=ia+size;

    ++ix,++ptr)  {  /*....*/  }

    Ans:定义一个指针指向数组的首元素,然后定义一个ix等于0,接着判断若ix的值小于size则判断指针ptr是否指向数组ia的最后一个元素的下一个位置,若不是则,条件为真,执行下面的语句,然后再进行ix+1,ptr+1的操作,遍历数组的下一个元素。

    4.33:根据4.12节中的表说明下面这条表达式的含义。

    someValue  ?  ++x  ,  ++y : --x,  --y

    Ans:由于逗号运算符的优先级最低,然后是条件运算符,最后是递增递减运算符,所以表达式等价于:( someValue  ?  ++x  ,  ++y : --x) ,   --y  也就是说若条件为真则执行++x,++y,若为假,则执行--x,--y。

  • 相关阅读:
    查看 FormData 中已存在的值
    dedecms 后台可以上传mp4,但无法选择
    dedecms 文章根据 权重排序
    js 单行注释
    dedecms给图片加水印覆盖整张图片
    Nginx服务器 配置 https
    dedecms 后台 菜单点击后打开的慢
    用 PHP文件引入css样式
    TFT、LCD、OLED、LPTS、CRT等显示屏的区别
    ORCAD中的一些操作小技巧
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9448285.html
Copyright © 2011-2022 走看看