设有定义语句 int x[6]=(2,4,6,8,5,7.), *p=x, i; 要求依次输出x数组6个元素中的值,不能完成此操作的语句是

admin2013-06-11  30

问题 设有定义语句  int x[6]=(2,4,6,8,5,7.),  *p=x, i;     要求依次输出x数组6个元素中的值,不能完成此操作的语句是

选项 A、for(i=0;i<6;i++)    printf(“%2d”,* (p++));
B、for(i=0;i<6;i++)    printf(“%2d”,*(p+ i));
C、for(i=0;i<6;i++)    printf(“%2d”,*p++);
D、for(i=0;i<6;i++)    printf(“%2d”,*(p)++);

答案8

解析 本题考核的知识点是通过指针引用数组的元素。本题中首先定义了一个一维数组并初始化,接着定义了一个指针变量p指向数组x。因此可以通过指针p的下移,即每次加1引用数组x中的元素,来指向数组中的每个元素,这样循环6次即可引用数组的每个元素。选项A、B和选项C满足要求,而在选项D中表达式为(*p)++,该表达式是先取*p的值然后将其值加1,而没有将指针下移一位,故选项D不正确。所以,4个选项中选项D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/ZfJp777K
0

最新回复(0)