#include <stdio.h>void f(int *x){ *x=*x+1;}int main (void){int a=3;f(&a);printf(" d% " , a);}return 0;为什么a得出来的值是4啊?还有,为什么main函数后面要加void。
1 回答
起伏羊
TA贡献31条经验 获得超25个赞
int main(void)是c是int型的主函数 f(int *x)是一个调用函数 ,*x 是指针变量,*x=*x+1是指针运算
先执行的是主函数main,给a赋值;再执行调用函数f(int *x),*x计算需要一个地址,所以a前面得加取地址符&,*x=&a;执行完调用函数后,再printf。
- 1 回答
- 0 关注
- 566 浏览
添加回答
举报
0/150
提交
取消