猿问

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

#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。

海问香00
浏览 568回答 1
1回答

起伏羊

int main(void)是c是int型的主函数  f(int *x)是一个调用函数 ,*x 是指针变量,*x=*x+1是指针运算 先执行的是主函数main,给a赋值;再执行调用函数f(int *x),*x计算需要一个地址,所以a前面得加取地址符&,*x=&a;执行完调用函数后,再printf。
随时随地看视频慕课网APP
我要回答