我正在从Python转换为C,因此在语义和编码习惯上有些生疏。在Python中,一切都被视为对象,并且对象被传递给函数。在C中不是这种情况,因此我想使用指针增加一个整数。这样做的正确分配是什么。我想通过以下方式进行操作,但是分配错误:
#include <stdio.h>
int i = 24;
int increment(*i){
*i++;
return i;
}
int main() {
increment(&i);
printf("i = %d, i);
return 0;
}
我已修复您的程序:
#include <stdio.h>
int i = 24;
// changed from i to j in order to avoid confusion.
// note you could declare the return type as void instead
int increment(int *j){
*j++;
return *j;
}
int main() {
increment(&i);
printf("i = %d", i);
return 0;
}
您的主要错误是函数参数中缺少int
(在printf中也缺少"
)