萧少428 2022-01-05 16:43 采纳率: 9.1%
浏览 26

自己不理解为什么答案选择B

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,

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2022-01-05 16:49
    关注

    这代码怎么这么乱啊
    for(;i<5;i++)(*q)++;
    这个循环q指针没有移动,一直指向数组的第一个元素,循环5次,导致第一个元素值增加了5,所以最后输出时第一个元素变为6,其它没有变化

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 1月5日
  • 创建了问题 1月5日

悬赏问题

  • ¥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实验:数据库写入不成功