• 题目要求:

     1.码云中的代码:

     码云账号:1623025417@qq.com

     项目链接:https://git.oschina.net/awdx/codeandcomment.git

     (后缀名为.c的文件)

     2.插入代码:

 1 #include<stdio.h>
 2 int main()
 3 {    
 4    void fun(int a[],int k);                 
 5    int a[]={1,1,2,3,5,8,13,21,34,55};      
 6    int *p,k;                               
 7    p=a;                                    
 8    printf("i=5时,数组元素为:%d\n",*(p+4)); 
 9    printf("数组中元素为: ");               
10    k=sizeof(a)/sizeof(a[0]);               
11    fun(a,k);                               
12    return 0;                              
13 } 
14 void fun(int a[],int k)                    
15 {   int *p1;                          
16     int i;                                 
17     for(i=0;i<k;i++)                        
18     {
19         p1=&a[i]; 
20         printf("%d ",*p1);
21     }
22 }
代码(不含注释)

 

     3.照片截图:

 

                                                                                 从上至下第五行,从左至右第三列是欧路词典。

  • 代码说明:

       这次作业的要求是:定义一个包含有10个整数的数组a并初始化,定义一个指针变量p,p指向数组a,定义函数fun,要求在fun内部访问数组,并打印出数

中各元素的值。

      要求在fun函数内不要出现数字10。也就是说会对for循环中的限制循环次数的量产生影响。对于数组元素个数在控制for循环次数中不可显示的问题,可

把这个问题化归至“已知一个数组,求数组元素个数”的问题上,用整个数组的大小sizeof(a)(如果用sizeof(a[ ])将会运行错误)除以数组中一个元素所占大

小   sizeof(a[0])即可在主函数中(不是用户自己定义的函数)求得。所以在fun函数中引入k作为第二个形参,充当控制for循环次数的值就可解决该问题。

      在编写代码的过程中并没有出现太大的问题。反而在git中出现了问题由于没有弄通VIM文本编辑器的操作,从而致误。通过上网查找得知i为输入,esc为

退出输入,键入":wq!"为保存并退出,Enter键为退出VIM文本编辑器。

  • 测试运行
1 i=5时,数组元素为:5
2 数组中元素为: 1 1 2 3 5 8 13 21 34 55
3 --------------------------------
4 Process exited after 0.3565 seconds with return value 0
5 请按任意键继续. . .
运行结果

 

  • 总结心得

    这次作业和前几次作业相比有些困难,过程相对曲折,但是依旧可以克服并完成了这次作业:

     本次的代码运用了化归思想,把一个陌生的问题化到熟悉的问题上。可使问题得到简化,对sizeof的运用和地址的使用要尽可能小心,防止运用错误的情况

出现。

    对于码云和git的使用则是最为困难的:建立了2个项目分别以操作失败告终,第一个项目因远程同步失败而结束同步了无关文件,第二个项目中的代码未加注释。共花费了两个下

午,越做越乱,十分麻烦,而且并不知道如何删除项目(如果不删除会影响整体效果而影响阅读,第三天,开始重第三个项目,这时,偶然在码云的管理界面中发现了可以删除项目的

方式,删除了无用的项目。

      那么,有时,不是因为有了希望而去坚持,而是因为坚持才有了希望;不是因为梦想而去守护,而是守护才有了梦想。