zoukankan      html  css  js  c++  java
  • C语言第二次作业

    一、指针与数组的学习

     1.1 观看指针与数组和指针运算的视频

     1.2 观看视频所记录的纸质笔记

     

     1.3 观看视频时所敲打的代码文件

     1.4 学习时存在的问题

     (1)为什么*p++中++的优先级高于*,在运算时还是先取p的地址然后再加1呢?

     答:百度查询了解*p++;等价于*(p++);但是,要注意++放在后面是先使用p原来

            的值,然后才是改变p的值。也就是*(p++);等价于 =*p ; p = p+1;这是两方

            面综合的结果。

    (2)为什么q1-q是6而不是24?

      答:看视频知道当两个指针相减时,结果不是两个地址的差,而是两个地址的

             差/sizeof(指针类型)。

    二、pta作业存在的问题

    2.1 判断题

     正确答案:a的地址赋给了指针p,那么p+1指向了a[1],*(p+1)就是a[1]的值是4,

                       **(p+1)即*4读取的是地址4里面的值,而不是4。

     

    定义:指针就是保存地址的变量。

     

    指针之间比较大小限于两个相同类型的指针变量。

    2.2 单选题 

    正确答案:B

     因为指针p指向x,p就相当于&x,则*p=*&x,即*p=x,所以(*p)++相当于

     x++,故选B。

    正确答案:B             我误以为是变量加1了。

     再看一遍题后知*p=&a[0]+1是一个指针变量,*p=&a[0]+1就是a[0]的地址

     加1,并赋给p,这样p指向的就是a[1],所以*p的值是3。

    2.3 填空题

    正确答案:4 6     用Dev-c++运行结果。

     正确答案:2 5

    查询得知因为函数没有返回值,函数里都是对指针的交换而不是对指针

    指向的值的交换,所以指针的值没有变。

    2.4 程序填空题

    查找知第一空应为a,10,&max,&min, 但还不知道为什么。

  • 相关阅读:
    vue_路由
    vue_列表动画
    vue生命周期详细
    Vue_过渡和动画
    vue_品牌列表案例(添加删除搜索过滤)
    vue_简单的添加删除
    v-if v-show
    vue_简单的添加数据
    JSON.parse()和JSON.stringify()
    vue_计算器
  • 原文地址:https://www.cnblogs.com/YRY-/p/12445250.html
Copyright © 2011-2022 走看看