想知道详细解题过程和思路还有答案呀

img

要怎么做呢 有点不知道怎么入手 指针的概念还是不太清楚 做题有点无从下手

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7803875
  • 这篇博客也不错, 你可以看下对于实现顺序表过程中所遇到的传递指针和传递指针引用的有关思考
  • 除此之外, 这篇博客: 进程管理的概念中的 环境变量具有全局属性 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 根本原因:环境变量可以被子进程继承下去(而bash的是从环境变量从系统中读取来的,而系统又是从配置文件中读取的)

    我们在命令行上面启动的进程(子进程),父进程都是我们的bash!(命令行解释器) ,启动方式调用fork函数。export实际上是把本地变量导给了父进程bash!

    证明:

    我们先设置一个本地变量:my_env_string="AAAAA"

    通过它来查看

    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
      printf("my_env_string: %s\n",getenv("my_env_string"));
      return 0;
    }

    我们通过在命令行上敲击指令(子进程),确实可以查看到我们人为导入后的环境变量,但是我们的export是导给bash进程的(父进程),原来运行程序失败,现在导入后(意思就是现在父进程多了一个环境变量),再次敲击命令(子进程),结果成功,这就说明了我们的子进程继承到了我们父进程bash的环境变量 ,这就是环境变量具有全局属性

    总结:环境变量可以被继承,就是说可以影响整个“用户”系统!

     所以我们在用一些gdb、gcc命令时,不用带那么多选项就能执行,本质就是从bash那里继承了环境变量。

    谢谢观看!

  • 您还可以看一下 李月喜老师的企业微信开发第三方应用开发篇课程中的 服务商申请注册,服务商助手,加入服务商成长计划及其概述小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    该题涉及到多个问题,包括C语言编程、数据结构与算法、操作系统等方面,建议首先精读代码及注释,同时,该题中提到了一些常见的数据结构,包括顺序栈、共享栈及顺序表,需要了解它们的特点、基本操作和实现方式。对于C语言部分代码,理解scanf、printf、strcpy、strlen与malloc等常见的函数是基础;对于数据结构和算法,需要了解如何定义一些常见的数据结构,如线性表、顺序栈等;对于操作系统部分的分页机制,需要了解页表的基本原理和实现方式,并掌握虚拟地址如何转换为物理地址。如果有具体问题,请提出。

答案:选 A.
*pb = &b; (*pb)++; (*pb) 括号先解引用,然后 ++ , 等价于 b++; 执行完 b = 3.

根据代码分析,程序运行过程如下:

  1. 初始化变量a为1,b为2,并声明指向它们的指针pa和pb。
  2. 执行(*pb)++,将pb所指向的变量b的值加1,此时b的值变为3。
  3. 输出a+b的值,即1+3,结果为4。

因此,程序的运行结果是4(选项A)。