以下是引用zklhp在2015-3-19 17:35:02的发言:
#include <stdio.h>
int *ret_stack_var(void)
{
int tmp = 0;
return &tmp;
}
int main(void)
{
int *get_dangling_pointer = ret_stack_var();
scanf("%d", get_dangling_pointer);
printf("%d\n", *get_dangling_pointer);
return 0;
}
会被冲掉 但不是【必定】被冲掉 更不是马上被冲掉
#include <stdio.h>
int *ret_stack_var(void)
{
int tmp = 0;
return &tmp;
}
int main(void)
{
int *get_dangling_pointer = ret_stack_var();
scanf("%d", get_dangling_pointer);
printf("%d\n", *get_dangling_pointer);
return 0;
}
会被冲掉 但不是【必定】被冲掉 更不是马上被冲掉
试了一下这段代码,为什么输入数字就出错,输入字符就可以通过?
人有多懒,编程就有多难。