为了账号安全,请及时绑定邮箱和手机立即绑定

为什么a得出来的值是4啊

为什么a得出来的值是4啊

C
海问香00 2019-04-19 16:11:46
#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。



查看完整回答
反对 回复 2019-04-20
  • 1 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信