第三次作业

#include<stdio.h>
#define b 10                            //定义常量b为10 
void fun(int *q,int arr[]){             
    q = &arr[0];                        //将指针q指向数组arr第一个元素 
    for(int i=0;i<b;i++){
        printf("a[%d]:%d\n",i,*q);
        q++;
    }
}
int main(){
    int a[10],*p;
    p = &a[0]; 
    for(int i=0;i<b;i++)                //初始化数组,将10个元素赋值为1-10 
        a[i]=i+1;
    printf("调用fun函数输出数组a\n");
    fun(p,a);                           //调用函数fun 
    return 0;
} 
调用fun函数输出数组a
a[0]:1
a[1]:2
a[2]:3
a[3]:4
a[4]:5
a[5]:6
a[6]:7
a[7]:8
a[8]:9
a[9]:10

--------------------------------
Process exited after 0.3795 seconds with return value 0
请按任意键继续. . .

总结:*是取值,&是取地址,之前作业中总是混淆,导致程序出错。

posted @ 2017-04-04 20:19  熊浩清  阅读(123)  评论(0编辑  收藏  举报