#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);
}
なぜ最後の2つのprintf文で異なる結果が生じるのですか?私はテストポインターをどのように割り当てているかとは関係がありますが、それを修正する方法はわかりません。C言語:なぜこれらの2つのprintf文で異なるものが出力されるのですか?
これを修正するには、コードを変更する必要がありますか? – Madnobleman
@weijazhou答えの最後の段落をもう一度読んで、ただ更新してください。 :) –