目录: 标题| 题干| 答案| 搜索| 相关
问题

若有以下程序#include <stdio.h>main(){


若有以下程序#include <stdio.h>main(){ int i; int a[]={1,3,5,7,9} int *p=a; for(i=0;i<4;i++) a[i]=*p; printf("%d,%d\n",a[2],a[4]);}上面程序的输出结果是A.3,9 B.5,9 C.1,9 D.1,1

  • A3,9
  • B5,9
  • C1,9
  • D1,1
参考答案
参考解析:

本题中,程序开始定义了一个数组a,并对这个数组进行赋初值。然后定义一个整型变量i和一个整型指针变量p,并使指针变量p指向数组a的首地址。然后执行for循环,循环变量i的初值为0,循环结束条件为变量i的值大于等于4,循环变量i的值每循环一次自加1,通过这些分析我们知道,循环执行了4次结束。第一次循环时,由于*p表示数组的第一个元素值1,那么执行a[i]=*p;语句,即将数组的第一个元素变为1;第二次循环时,由于i为1,即将数组的第二个元素变为1,同理,第三次与第四次循环分别将数组的第三和第四个元素值变为1。循环结束,程序执行输出语句,这时数组中所有元素的值分别为1,1,1,1,9,因此,程序最后的输出结果是1,9,答案选C。

分类:其他