码云账号 markliuning 作业已经上传
题目要求:定义一个包含有10个整数的数组a并初始化,定义一个指针变量p,p指向数组a,定义函数fun,在fun内部访问数组,并打印出数组中各元素的值,在fun函数内不要出现数字10.
#include<stdio.h>
#define N 10
int fun(int a[],int n)//定义一个fun函数 { int i; for(i=0;i<n;i++) printf("%d ",a[i]); } int main(){ int a[N]; int *p; p=&a[0];//指针p指向数组的首地址 for(int j=0;j<N;j++)//给数组a进行赋值 a[j]=j+1; fun(a,N);//调用fun函数 return 0; }
测试运行结果:
1 2 3 4 5 6 7 8 9 10 -------------------------------- Process exited after 0.004381 seconds with return value 0 请按任意键继续. . .
总结:因为fun函数中不能出现10这个数字,所以我使用了fun函数的参数为两个。n代表数组的个数。
出现的问题是:(一)在主函数中,调用函数的时候写了函数的类型。运算一直不对。刚开始没有发现问题,直到查阅百度才直到在调用函数的时候不需要在写函数 类型, 要是写了相当于重新定义了一个fun函数。
(二)在定义define N的时候在N后面添加了分号,查书知道如果加了分号会连分号一起进行置换。
心得:编程序的时候需要细心,虽然只错了那么一小点,但是程序还是不会运行。一定不要忽视书上写的基础知识,如果忽视了,可能一个小小的程序就会花费非常多的时间。
软件截图: