• 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, 但还不知道为什么。

  • 相关阅读:
    数据表列名与数据库关键字冲突,在Hibernate下的解决办法
    Ubuntu12.04 MySQL服务器乱码问题的解决办法
    Linux实时将所有输出重定向到文件
    vue Element UI 导航高亮
    Js计算时间差
    Js时间处理
    Vue设置导航栏为公共模块并在登录页不显示
    Vue中表单校验
    Vue中div高度自适应
    Vue引入js、css文件
  • 原文地址:https://www.cnblogs.com/YRY-/p/12445250.html
Copyright © 2020-2023  润新知