一、编译及运行环境

         系统为windows10 系统,软件为Dev-c++5.11开发工具 Dev-c++5.11是一款通用的自由软件,适合初学者及编程高手的不同需求。

 二、整体思路及分析

       整体思路:本人的末尾学号数字为0,加4后数组大小是4,所以数组中每个元素为a[0],a[1],a[2],a[3]。因此需要定义数组a[4];由于该数组需要指针遍历,所以再

定义一个指针变量*p,自己需要定义的数组,像int a[4]={1,2,3,4}。此类语句元素需要手动修改,灵活度不高。考虑用rand()函数使计算机自己生成数组中的元素,

样无需手动修改。最后再利用for循环输出该数组即可。

      分析:头文件部分:需要的头文件有:stdio-标准输入输出头文件、stdlib-标准库函数头文件、time-时间与日期头文件、math-数学函数头文件。          

           主函数定义部分:定义数组int a[4]、定义指针变量 int *p、定义第一个for循环变量 int i。           

           语句部分:初始化随机种子:srand((unsigned)time(NULL))-使其每次拥有不同的运行数组元素。           

                    第一个for循环:给数组中各元素随机赋得不超过10的值,如果任意范围赋值,则元素的值过大。

                    第二个for循环:以指针的方式输出数组的各元素。初始条件为p的地址等于a[0]的地址,再进行p的自加;循环条件为p的地址小于或等于a[3]的地址;循环体为输出函数。

 三、代码及运行

     文字如下:

 

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 #include<math.h>
 5                                      //以上为头文件
 6 int main( ){                   //定义主函数默认为整型数据,int可省略 
 7  int a[4];                      //定义整型名为a的,大小为4的数组  
 8  int *p;                        //定义指针变量*p 
 9  int i;                          //定义循环变量i 
10  srand((unsigned)time(NULL)); //初始化随机种子,使每次电脑运行结果不相同
11  for(i=0;i<=3;i++){   //第一次循环生成数组a[4]
12  a[i]=rand();              //随机生成四个小于10的数组元素
13  } 
14     for(p=a;p<=&a[3];p++){  //令p的地址与a[0]地址相同,地址自加,直到p和a[3]地址相同  
15    printf("随机生成的数组元素为:%d,地址为:%p",*p,p); //数组及其地址输出 
16    printf("\n");              //输出换行符 
17  }
18        return 0;           //使函数返回值为0 
19  }                            // 函数结束
View Code

 

 

 

       图片如下:

      第一次运行结果:

 

      第二次运行结果:

      第三次运行结果:

                          
      经过这几次的运行,可以清楚地看到,每次运行时,数组元素的数值不同,地址相同

四、总结

      (1)每打完一行语句立即在句末加分号,不要打完整个程序后再分别加分号。

      (2)明确各个关键字、系统自带函数、C运算符的用法和使用条件,不能盲目乱用。

      (3)自己编写的函数尽量写在主函数之前,这样可以不用在主函数中声明了。

      (4)质量好,效率高,通用性强的算法,会对编程产生很大帮助。

      (5)本次编程中,需注意函数所对应的头文件,并尽可能用通俗易懂的语言解释代码

      (6)尽可能对变量进行初始化,且应注意初始化的值。

      (7)for循环如果是地址循环,不能忘记加取址符号。

      (8)代码的格式:呈波浪形。

      (9)有时编译可能没有错误,但可能运行不了。需要仔细检查一下代码。