#include <stdio.h>
int change(int*data)
{
*data=*data%2;
return(*data)+1;
}
main()
{
int data=12;
change(&data);
printf("%d,",data);
data=change(&data);
printf("%d,",data);
}
函数传入地址,在函数里面对data做出的更改会影响主函数里面的data数值
具体见注释
#include <stdio.h>
int change(int*data)
{
*data=*data%2;
return(*data)+1;
}
main()
{
int data=12;
change(&data);//传入data地址
printf("%d,",data);//打印更改后的data,12%2=0
data=change(&data);
//第二次调用,传入0,0%2=0,打印return的data+1,1
printf("%d,",data);//data的值为0
}
如果对你有帮助,还请点个采纳
change函数的作用是,将传进去的指针指向的变量变成它除以二所得的余数,然后返回这个余数加一。
data=change(&data);
//第二次调用,传入0,0%2=0,return的data+1,data = 1
printf("%d,",data);//data的值为1