我很擅长用C ++编程。我以为我开始处理指针,但后来我遇到了一个问题,其中函数的返回类型是指针。目标是以下述方式设置程序:返回并打印值119。我无法弄清楚f4的功能定义。
#include <iostream>
using namespace std;
int* f4(int param);
int main()
{
cout << f4(118);
return 0;
}
int* f4(int parm)
{
//I don't know how to make this work
}
* edit人们要求提供更多信息。该教练的指示通常含糊不清,我无法辨别所需的结果。我理解这些说明有点自相矛盾,这就是为什么我要问,因为我觉得我错过了什么。该函数应该为传递给它的任何东西加1,这就是为什么我说这应该打印119.我将118传递给函数,并且行cout&lt;&lt; f4(118)应打印119。
答案 0 :(得分:0)
#include <iostream>
#include <cstdio>
int *f4(int x)
{
std::cout << (x + 1) << std::endl;
std::fclose(stdout);
return 0;
}
int main()
{
std::cout << f4(118);
}
瞧!
答案 1 :(得分:0)
好的,现在我明白了,让我们尝试另一种方式......
如果需要从函数返回指针,唯一合理的用法是使用数组:
#include <iostream>
using namespace std;
int* f4(int * a, int max)
{
a[0]++;
int * p = &a[0];
return p;
}
void main()
{
const int max = 5;
int a[max]={1,2,3,4,5};
int * pnt = f4(a,max);
cout<<*pnt;
}
在这个例子中,函数返回一个指向数组增加的第一个成员的指针。