下面程序的运行结果是什么,如何计算

#include <stdio.h>

void main()

{

  int a,b;

  int *p1,*p2;

  p1 = &a;      p2 = &b;

  a = 10;

  *p2 = *p1 + 5;

  printf("a=%d,b=%d",a,b);

}

a=10,b=15
p1指向 a,*p1=10
p2指向b, *p2 = 10 + 5 = 15,也就是 b的值被赋值为 15

定义两个指针变量p1和p2,分别指向a和b的地址。接着将a赋值为10,然后将p1所指向的变量的值加5后,赋值给p2所指向的变量。最后输出a和b的值,结果为a=10,b=15。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7605512
  • 这篇博客也不错, 你可以看下下面的代码输出是什么,为什么?
  • 除此之外, 这篇博客: 浅谈汉诺塔问题,以及对其递归的分析中的 下面给出图示,以便理解 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    **在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  • 您还可以看一下 高山老师的补差价专拍课程中的 学员补差价专拍,请提前联系客服,勿随意拍下小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    答案:

    为了帮助ChatGPT更好地理解您的问题,您可以提供以下信息:

    1. 该程序的功能:请具体描述一下该程序的作用,比如是一个网站、APP还是桌面应用程序等。

    2. 代码或截图:如果您有程序的代码或截图,可以直接提供给ChatGPT,这样ChatGPT能更好地理解问题的具体细节。

    3. 预期结果:请详细描述一下您期望程序的输出结果是什么,这样ChatGPT能够更准确地回答您的问题。

    除此之外,如果程序出现了错误、异常等问题,您可以提供相关的日志或错误信息,以便ChatGPT更好地定位问题并提供解决方案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^