#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
}
如果对你有帮助,还请点个采纳