【问题标题】:How to return/save values with void function in C?如何在 C 中使用 void 函数返回/保存值?
【发布时间】:2013-12-03 17:12:22
【问题描述】:
我想用 void 函数来保存价值。在 C++ 中我有点像这样:
void func(int & a);
void func(int & a)
{
int value;
cin >> value;
a = value;
}
int main()
{
int x;
func(x);
cout << x;
return 0;
}
这个算法在 C 语言中会是什么样子?
【问题讨论】:
标签:
c
function
return
return-value
void
【解决方案1】:
你可以使用指针:
void func(int *a)
{
scanf("%d", a);
}
int main()
{
int x;
func(&x);
printf("%d", x);
return 0;
}
【解决方案2】:
你会使用指针。
void func(int *a)
{
int value;
if (scanf("%d", &value) == 1)
*a = value;
else
*a = 0; //well, we don't have anything good
//way to signal an error.
}