如何输出这个程序

Ami*_*mar -4 c linux

它的C程序正在运行x86_64机器,想知道输出是怎么来的

main()
 {
 int  *mess;
mess=malloc(1);
mess[0]=1;
//mess[1]=2; 
printf("%d",mess);
}
Run Code Online (Sandbox Code Playgroud)

现在这里输出的是6295568

如何??

hou*_*oft 6

您正在打印存储int的地址.你需要

printf("%d",*mess);
Run Code Online (Sandbox Code Playgroud)

打印它的价值.

你也为你的int分配太少的空间,你应该这样做:

int *mess = malloc(sizeof(int));
Run Code Online (Sandbox Code Playgroud)

代替

int *mess = malloc(1);
Run Code Online (Sandbox Code Playgroud)