以下程序的运行结果是() main() { int a[3]={1,2,3}; int *num[3]; int **p,i; for(i=0;i<3;i++) num[i

2024-11-20 09:25:57
推荐回答(1个)
回答1:

应该是输出1。程序是这样的,先定义了一个数组a,并赋值。然后定义了一个指针数组sum。在for循环中,使用了
num[i]=&a[i];语句,也就是,指针数组的每个元素分别指向了数组a的每个元素。前面定义的p,是指向指针的指针,也就是p指向了一个地址,而这个地址又执行了另外一个地址。执行p=num后,p就 指向了num数组的第一个元素。后面使用printf(“%d”,**p);输出的时候,实际上就是输出了数组a 的第一个元素,就是1。