15.有以下程序
void f(int *q)
{
int i=0;
for(;i<5;i++)(*q)++;
}
void main()
{
int a[5]=(1,2,3,4,5),i;
f(a);
for(i=0;i<5;i++)
printf(“%d,”,a[i]);
}
程序运行后的输出结果是A.2,2,3,4,5, B.6,2,3,4,5, C.1,2,3,4,5, D.2,3,4,5,6,
![](https://profile-avatar.csdnimg.cn/f44e2faa646845c4b8a9ffdff84790ff_qq_65907529.jpg!4)
自己不理解为什么答案选择B
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-link 2022-01-05 16:49关注
这代码怎么这么乱啊
for(;i<5;i++)(*q)++;
这个循环q指针没有移动,一直指向数组的第一个元素,循环5次,导致第一个元素值增加了5,所以最后输出时第一个元素变为6,其它没有变化解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 第三方如何控制E8a进行烧录
- ¥15 关于lua调用DLL的c/c++动态库(相关搜索:数据库)
- ¥15 openwrt结合智能家居(相关搜索:路由器)
- ¥15 求一款免费的pdf编辑js,web端用的
- ¥15 求分析下图晶体与三极管组成的振荡电路
- ¥100 多线程+连接池+代理 运行一段时间线程阻塞
- ¥15 关于#单片机#的问题:求一个使用C语言将重力加速度gx,gy,gz积分获取到速度的代码(相关搜索:c语言)
- ¥15 matlab导致电脑重启问题
- ¥20 为何R语言love图显示的分类变量点与smd值不一致
- ¥15 asp.net实验:数据库写入不成功