【发布时间】:2022-11-22 05:19:05
【问题描述】:
我被要求写下这段代码的作用:
int main()
{
int var1,var2, *ptr;
ptr=&var1;
var2=12;
*ptr=var2;
var1=var1/ *ptr;
printf("%d %d", var1,var2);
}
现在我的问题是这意味着什么。起初 ptr 存储 var1 的地址。然后 var2 被定义为 12。下一步 idk 是什么意思,最后一步也是如此。我终于打印了 1 和 12。不知道为什么。
我的理解是 12 也存储在 ptr 中。因此,由于 ptr 具有 var1 地址,因此 var1 的值也为 12。所以最后一步是 var1=12/12。这就是为什么我在 printf 中得到 1 和 12。这正是我所理解的,但我并没有真正理解它,我不确定它是否正确。顺便说一句,这是不理解的。
【问题讨论】:
-
您需要阅读教科书或教程,它会解释所有这些的含义。 SO 不是辅导服务,您需要学习语言基础知识。
-
*ptr = var2;表示将var2的值存储在ptr指向的地方,即var1。所以这与var1 = var2;相同。
标签: c pointers variables printf