#include <stdio.h>
int* _pTest1(void) {
int a = 10;
int *_pA = &a;
return _pA;
}
int* _pTest2(int a){
int* _pA = &a;
return _pA;
}
int main()
{
int* _pT = _pTest1();
printf("%d\n", *_pT);
_pT = _pTest2(20);
printf("%d\n", *_pT);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
1073831176
20
Run Code Online (Sandbox Code Playgroud)
为什么第一个输出不是10,而是1073831176?func _pTest1中的'return _pA'和func _pTest2中的'return _pA'之间有什么区别?
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |