以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void artin( int x[N]) { int i=0; while(i<N) scanf("%d", );

admin2010-01-10  57

问题 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。    #define  N  10    void  artin( int x[N])    {    int i=0;    while(i<N)    scanf("%d",    );    }    在下划线处应填入的是(  )。

选项 A、x+i
B、&x[i+1]
C、x+(i++)
D、&x[++i]

答案4

解析 根据scanf()的定义,应该在空白处填入一地址值,又因为要为数组中所有元素赋值,故空白处填入的表达式应使i每次增1,选项A和B不会使i增1,所以不正确。选项D在第一次执行时i先自增为1,所以输入的第一个数据被存到x[l]中,而第N次执行时会将数据输入到x[N],这个地址已经超过数组x的范围,属于越界行为,所以也不正确。故正确答案为C。
转载请注明原文地址:https://kaotiyun.com/show/J1Wp777K
0

最新回复(0)