#include <stdio.h>
typedef struct {
int data;
char * string;
}Node;
Node * init(){
Node node;
node.data = 5;
node.string = "hello";
Node * point = &node;
return point;
}
int main() {
Node * test = init();
printf("%d\n", test->data);
printf("%d", test->data);
}
为什么最后两个printf语句会产生不同的结果。我怀疑是如何分配我的测试指针,但我不知道如何解决它。C语言:为什么这两个printf语句输出不同的东西
需要对代码进行哪些更改才能解决此问题? – Madnobleman
@weijazhou请重新阅读答案中的最后一段,只是更新它。 :) –