#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);
}
这段代码怎么分析呀,关于指针的
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注函数传入地址,在函数里面对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 }如果对你有帮助,还请点个采纳
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用