为啥最后的结果是这样子?是哪里做了循环吗?函数调用之后有什么需要特殊注意的吗?
5条回答 默认 最新
- weixin_43825724 2023-02-17 11:47关注
你应该是误会了C语言p=d++这一句,看我加的注释就明白了。
#include <stdio.h> void fun(int p) { int d=2; //C语言中p=d++,相当于执行了p=d,然后执行d=d+1 p=d++; //输出p的值,为2 printf("%d",p); } int main() { int a=1; // 调用函数,a的值并未改变 fun(a); // 执行完成后,a==1,这一句输出a的值1,最终结果2和1连在一起,输出结果21 printf("%d\n",a); return(0); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 GDI处理通道视频时总是带有白色锯齿
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制
- ¥15 merge函数占用内存过大
- ¥15 Revit2020下载问题
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
- ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数