有以下程序main() { int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p<a+10;p++) printf("%d,",*p);}程序运行后的输出结果是A.1,2,3,4,5,6,7,8,9,0, B.2,3,4,5,6,7,8,9,10,1, C.0,1,2,3,4,5,6,7,8,9, D.1,1,1,1,1,1,1,1,1,1,
- A1,2,3,4,5,6,7,8,9,0,
- B2,3,4,5,6,7,8,9,10,1,
- C0,1,2,3,4,5,6,7,8,9,
- D1,1,1,1,1,1,1,1,1,1,
参考解析:在本题中,程序首先定义了一个一维数组a,并赋了初值,数组a中元素的个数为10个,另外,程序定义了一个同类型的指针变量p。然后用一个for循环用指针变量p对数组进行操作。在循环开始前,将指针变量指向数组的开始位置,即指向数组的第一个元素。第一次循环时,指针变量p指向的是数组第一个元素,输出该元素应该为1;然后指针变量自加1,即将指针变量后移一位,使其指向数组的第二个元素,开始第二次循环,此时,指针变量指向数组第二个元素,输出该元素为2,然后指针变量自加1。同样,利用指针变量p可以输出数组中后面的元素,直到输出最后一个元素。因此,最后的输出结果是1,2,3,4,5,6,7,8,9,0,。
分类:其他