【发布时间】:2020-07-03 06:11:03
【问题描述】:
#include<stdio.h>
int g(int *a, int *b);
int main()
{
int a = 2;
int b = 7;
b = g(&b , &a);
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
int g(int *a, int *b)
{
(*a) = (*a) + 3;
(*b) = 2*(*a) - (*b)+5;
printf("a = %d, b = %d\n", *a, *b);
return (*a)+(*b);
}
输出是:
a = 10, b = 23
a = 23
b = 33
我正在参加 C 编程入门课程,但无法理解其工作原理。
感谢您的帮助!
【问题讨论】:
标签: c pointers memory-address