#include <iostream>
using namespace std;
int fun(int *k);
int main() {
int i = 10, j = 10, sum1,sum2;
sum1 = (i / 2) + fun(&i);
sum2 = fun(&j) + (j / 2);
cout<< sum1<< " "<<sum2<<endl;
}
int fun(int *k) {
*k += 4;
return 3 * (*k) - 1;
}
我必须将我的代码转换为已经转换的Java代码,但我找不到我的错误,我无法将变量指向对方..
public class System{
public static void main(String[] args) {
int i = 10;
int j = 10;
int sum1 = (i / 2) + fun(k.value=i);
int sum2 = fun(k.value=j) + (j / 2);
System.out.println("%d%d",sum1,sum2 );
}
public static int fun(int k) {
intobj k;
int k= new k();
k.value += 4;
return 3 * (k.value) - 1;
}
}
当我查看int sum1 =(i / 2)+ fun(k.value = i)时,这是我的java代码; int sum2 = fun(k.value = j)+(j / 2);关于指向真实价值的部分是不正确的。我怎样才能解决指针问题。谢谢。
答案 0 :(得分:1)
问题是您使用的是int
而不是intobj
,而您希望通过引用(c {+ {}}}传递内容。
在您的主要功能中,您应尝试将&
和i
声明为j
,intobj
,fun
的参数也应为{ {1}}。
k