这是一个更大的测试用例,这就是为什么它的编写方式。我如何制作这段代码,以便一个值继续递增?在我的项目中,我调用一个从文件中解析一行的函数。我需要将结构的值设置为在函数调用中设置的某些值(函数的参数在main函数中初始化,如下面的代码所示)。
int increment(int a)
{
a++;
return 0;
}
int main()
{
int a =0;
int b =0;
while( b<5){
increment(a);
b++;
cout << "a is: " << a << ". And b is: " << b << "\n";
}
system("PAUSE");
}
感谢。
答案 0 :(得分:3)
将其地址传递给
void increment(int *a){
(*a)++;
}
increment(&a);
//Using the address of operator pass in the address of a as argument
答案 1 :(得分:1)
答案 2 :(得分:0)
你可以:
static int a = 0;
return a++;
int increment( int* a )
和return *a++;
a
increment()
a
全球a
答案 3 :(得分:-1)
您按值传递a
,因此永远不能更改a
的值。
一个解决方案是:
int increment (int a) { return a + 1; }
然后在你的循环中:
a = increment(a);
另一种解决方案是通过引用(指针)传递a
void increment (int *a) { *a = *a + 1; }
并在循环中
increment(&a);