|
发表于 2024-4-23 23:44:52
|
显示全部楼层
#include <stdio.h>
void f(int *x) {
int i;
*x = 0;
for (i=1; i<=10; i++) {
*x += i;
}
}
int main() {
int num = 10;
printf("Before calling function: %d\n", num);
f(&num);
printf("After calling function: %d\n", num);
return 0;
}
在上面的代码中,我们定义了一个函数f,它接受一个指向整数的指针作为参数。在函数内部,我们使用指针修改了传入的变量的值。具体而言,我们将传入的指针所指向的变量的值设置为0,并且通过循环,将数字1到10累加到传入的指针所指向的变量中。
在主函数中,我们定义了一个整数变量num,并将其初始化为10。然后,我们调用了函数f,并将num的地址传递给f函数,以便在函数内部修改num的值。
最后,我们在主函数中打印了调用函数f之前和之后num的值。可以看到,在调用函数f之前,num的值为10,在调用函数f之后,num的值已被修改为55,这是因为在函数f中我们通过指针修改了它的值。
这就是利用指针修改变量的值的一个简单示例。希望能够对你有所帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|