0
#include <iostream>
using namespace std;

int add(int a, int b)
{
    int sum = a + b;
    return sum;
}

char* print()
{
    char arr[] = "Hello";
    char buffer[6];
    strcpy_s(buffer,arr);
    return buffer;
}

int main(){
    cout << add(2,3)<< endl;    // This prints "5"
    cout << print() <<endl;     // This prints junk!!!! 
}

1) add(2,3) print 5,考虑到返回指针的 print() 函数,在这种情况下如何获取值

2) 存储 2 个函数的位置。我猜两者都将存储在堆栈中,为什么 print() 函数没有打印“Hello”

4

0 回答 0