问题 单项选择题

有以下程序:
#include<stdio.h>
#define N 8
void fun(int*x,int i)
*x=*(x+i)+1;
main()
int a[N]=1,2,3,4,5,6,7,8,i;
fun(a,2);
for(i=0;i<N/2;i++)
printf("%d",a[i]);
printf("\n");

程序运行后的输出结果是( )。

A) 1 3 1 3
B) 3 2 3 4
C) 4 2 3 4
D) 1 2 3 4

答案

参考答案:C

解析: 函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

选择题
单项选择题