注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

浩瀚星云

上善若水 厚德载物<学习版>

 
 
 

日志

 
 

数组功能  

2008-02-27 14:32:06|  分类: C语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 (1) 有以下程序: void f(int *x,int *y)      Author:bingyu

                                {int t ;

                                     t=*x  ; *x=*y ;*y=t ;

                                   }

                              main()

                              {int  a[8]={1,2,3,4,5,6,7,8},i,*p,*q;

                                    p=a ; q=&a[7] ;

                                 while(p<q)

                                  {f(p,q) ;p++ :q-- ;}

                                    for(i=0 ;i<8 ;i++)   printf("%d",a[i]) ;

                                    }

分析:viod f(int *x,int *y)是定义两个指针,而int是定义一个整型变量.下面的

    t=*x ;*x=*y ;*y=t ;   的功能是利用中间变量t将指针x和指针y中的数据进行交换.再分析下面的

    main函数,a[8]是定义的数组,p=a是说明指针变量p中存放的是数组a的首地址,而q=&a[7]

    是说明q指针变量里面存放的是数组a中的最后一个元素的地址.而下面的while循环是判断p是否小于q.

    当p<q时,就执行f(p,q)即将p中的内容与q中的内容进行交换.而后面的p++和q--则是用来完

    成指针的移动的.后面的一个for循环是用来输出新的数组元素的,因此从程序的功能入手分析,很容易

    得到结果:8,7,6,5,4,3,2,1

 

(2).以下程序的输出结果是:

  #include<stdio.h>

         main()

          {int n=12345 ,  d ;

             while(n!=0)   {d=n%10 ; printf("%d",d) ;  n/10 ; }

分析:1.先执行第一个while循环 n=12345 显然n!=0 因此满足循环条件,则执行循环语句

      d=n%10=12345%10=5 则 printf("%d",d)则输出"5"n/=10则

      n=n/10=12345/10=1234.

   2.因为n=1234所以n!=0因此满足循环条件,则执行循环语句:d=d%10=1234%10

       =4 则 printf("%d",d)则输出"4" n/10则n=n/10=1234/10=123.

   3.n=123 n!=0因此满足循环条件则执行循环语句:d=n%10=123%10=3则printf函数的       输出结果是"3"n%10则n=n/10=123/10=12.

   4.n=12  n!=0  因此 d=n%10=12%10=2则输出"2" n/10=12/10=1

   5.n=1  n!=0 因此 d=n%10=1%10=1则输出"1" n/10则n=n/10=0

  则最后的结果是:54321.

      

    

  评论这张
 
阅读(68)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017