书籍中的C程序:
#include <stdio.h>
int *addition ( int a , int b) {
int c = a + b;
int *d = &c;
printf("%d %d, ",c, &c);
printf("%d %d, ",d, *d);
return d ;
}
int main (void) {
int result = *(addition(1,2));
int *result_ptr = addition(1,2);
////
printf("result_ptr = %d\n" , *result_ptr ) ;
printf("result = %d\n" ,result) ;
return 0 ;
}
当我交换最后两行时,程序变得有问题。
问题。add() 是否应该返回一个指针?
我通过更改*result_ptr
为 result_ptr 来修复它。而且 add() 不是指针,但为什么呢?