下面是我在main()处获取c地址而不是值的代码:
int addtion(int *a, int *b, int *c) {
c = *a + *b;
printf("sum is :%d\n", c);
}
int main() {
int a = 10;
int b = 10;
int c;
addtion(&a, &b, &c);
printf("%d\n", c);
}
答案 0 :(得分:1)
您不需要传递a
和b
的地址,因为它们的值不被更改,而仅被使用。您需要在c
函数中取消引用addtion
,以将adding的值保存到其指向的内容中:
#include <stdio.h>
void addtion(int a, int b, int *c) {
*c = a + b;
printf("sum is :%d\n", *c);
}
int main() {
int a = 10;
int b = 10;
int c;
addtion(a, b, &c);
printf("%d\n", c);
}
最后一点,您的addition
函数似乎未返回任何值,因此请考虑使用void
。