c - 我无法理解这个程序的输出

标签 c pointers

我的程序如下:

#include<stdio.h>
main()
{
  int x=30,*y,*z;
  y=&x;
  z=y;
  *y++=*z++;  //what does this mean?
  x++;          
  printf("%d %d",y,z);  
  return 0;
}

这条语句的含义是什么:*y++=*z++

最佳答案

相当于:

*y = *z;
y++;
z++;

I cant understand the output of this program

你在打印指针,没什么好理解的。


  • 在打印指针时,您应该使用 %p 而不是 %d
  • 当你增加这些指针时,你正在超越已知的宇宙

关于c - 我无法理解这个程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965178/

相关文章:

c - C中匿名数组的使用 "expected ' ;' before ' }' token"

c - 无法使用 realloc : "invalid next size" 扩展数组

c - 嵌套结构内存分配

c - 如何发送多个条目到函数 - GTK

c - 当我多次运行程序时如何使用或释放​​动态分配的内存?

c - 该 C 程序停止工作的原因

c++ - 下面的指针语法是什么意思

c++ - 序列化包含指针 vector 的结构,每个指针包含其他指针

C++:指针值更改退出函数

c# - 从 C# 调用托管 C++ 函数