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

  • 相关阅读:
    Can't remove netstandard folder from output path (.net standard)
    website项目的reference问题
    The type exists in both DLLs
    git常用配置
    Map dependencies with code maps
    How to check HTML version of any website
    Bootstrap UI 编辑器
    网上职位要求对照
    Use of implicitly declared global variable
    ResolveUrl in external JavaScript file in asp.net project
  • 原文地址:https://www.cnblogs.com/YRY-/p/12445250.html
Copyright © 2011-2022 走看看