试题与答案

有以下程序void f(int*q){int i=0;for(;iA.2,2,3,4

题型:单项选择题

题目:

有以下程序void f(int*q){int i=0;for(;i<5;i++) (*q)++;} maln(){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,

答案:

参考答案:B

解析:调用函数f()时,将数组a的地址传递给了指针q,此时q指向的就是数组a的第一个元素a[0]。在5次循环过程中,q始终指向a[0],因此a[0]的值增加了5。最后的输出结果为"6,2,3,4,5"。

试题推荐
微信公众账号搜索答案