当我开始在大学学习时,我们正在学习如何用C语言编写,我们已经知道我可以使用指针作为函数参数,但他们没有告诉我们的是如何获取来自它的价值。我不能作为一个不太了解C的人,想出其他解决方案,而不是使用两个参数(一个作为变量的指针,另一个作为值。请参阅示例,这不是真正的代码,但它只是为了演示目的:
int main(int argc, char* argv []) {
int a;
addNumber(&a);
}
void addNumber(int * a) {
*a = *a + 1; // this obviously does not work
}
任何输入都将不胜感激。 谢谢!
答案 0 :(得分:3)
只有一件大事:你忘了初始化a
。否则,它看起来很好。
int a = 0;
addNumber(&a);
唯一的另一件事是你错过了main
中的return语句。
答案 1 :(得分:0)
以下是一个可能更接近您所寻找的示例:
#include <stdio.h>
void increment(int *a, int *b)
{
*a = *a + *b;
}
int main(void)
{
int sum = 5;
int increment_by = 7;
printf("sum: %d, increment_by: %d\n", sum, increment_by);
increment(&sum, &increment_by);
printf("sum: %d, increment_by: %d\n", sum, increment_by);
return 0;
}
输出:
$ ./bar
sum: 5, increment_by: 7
sum: 12, increment_by: 7
答案 2 :(得分:0)
它会起作用。如果您将a
初始化为某个值,它会更好。