| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:几道分析题
只看楼主 加入收藏
achotspur
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-5
结帖率:0
收藏
 问题点数:0 回复次数:9 
几道分析题
   int m=2;
     int fun(int x,int y)
     { int m=6; return(x*y-m); }
     main()
     { int a=7,b=5;
       printf("%d\n",fun(a,b)/m;}
结果:

   main()
     { char a[10]="123456789",*p;
       int i=3; p=a+i;
       printf("%s\n",p+2);}
结果:

   main()
     { int num=0;
       while(num<=4)
          {num++; printf("%d",++num);}
     }
结果:

   fun3(int x)
     { static int a=3;
       a+=x; return(a);}
     main()
       { int k=2,m=1,n;
         n=fun3(k); n+=fun3(m);
         printf("%d\n",n);}
结果:

   main()
     {char a[3][5]={"what","are","you"};
           char (*p)[5];
           int i;
           p=a;
           for(i=1;i<3;i++)   printf("%s",p+i);}
结果:
搜索更多相关主题的帖子: return 
2009-11-05 23:16
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
相信自己
2009-11-05 23:17
爱乐飞
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2009-7-21
收藏
得分:0 
自己做吧,做完了运行下就出来了。
2009-11-05 23:23
jackwain
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:134
注 册:2009-3-21
收藏
得分:0 
唉。
2009-11-05 23:24
achotspur
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-5
收藏
得分:0 
会做的能帮做下吗?谢谢了
2009-11-05 23:25
positiveboy
Rank: 2
等 级:论坛游民
帖 子:17
专家分:11
注 册:2009-5-14
收藏
得分:0 
帮你就害你,这可是最基础最简单的。这些东西你要解决不了,那`````````
2009-11-06 19:49
wslhnsng
Rank: 2
等 级:论坛游民
帖 子:48
专家分:37
注 册:2009-2-20
收藏
得分:0 
第一题14
第二题6 7 8 9
第三题2 4 6
第四题11
第五题are you
2009-11-06 20:25
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 

   int m=2;
     int fun(int x,int y)
     { int m=6; return(x*y-m); }
     main()
     { int a=7,b=5;
       printf("%d\n",fun(a,b)/m;}
结果:14
解释一下:这是一个函数的调用问题,将实参a=7,b=5通过函数fun()分别传递给了形参x与y,这样在定义的函数fun()中x=7,y=5,同时你在函数前面又定义了一个全局变量m,其值是2,计算后得到了29,通过return返回给了主调函数main(),这样fun(a,b)的值是29,29/2=14.5.但是因为a与b都是int类型变量,所以结果也是一个整数,14


   main()
     { char a[10]="123456789",*p;
       int i=3; p=a+i;
       printf("%s\n",p+2);}
结果:6789
解释一下:这是一个有关指针与一维数组的问题.i=3,p=a+i,这样通过给指针p赋值,使p的初值指向了数组a[10]的a[3]的地址,也就是指向了数组里的"4",在printf()语句里p+2使p这个指针指向了数组a[10]的a[5]的地址,这样就把"6789"输出来了!

   main()
     { int num=0;
       while(num<=4)
          {num++; printf("%d",++num);}
     }
结果:246

   fun3(int x)
     { static int a=3;
       a+=x; return(a);}
     main()
       { int k=2,m=1,n;
         n=fun3(k); n+=fun3(m);
         printf("%d\n",n);}
结果:11
解释一下:先讲解一下static这个关键字吧,它表示的是静态变量,该怎么理解呢??它会把每次计算的结果保留下来,留作下次调用的时候好使用!第一次调用函数fun3()得到n=5,同时在函数fun3()里面a的值也是5,并且会被保留下来留着下次调用的时候使用,第二次调用fun3()得到n=11.
   main()
     {char a[3][5]={"what","are","you"};
           char (*p)[5];
           int i;
           p=a;
           for(i=1;i<3;i++)   printf("%s",p+i);}
结果:areyou
解释一下:(*P)[5];这是一个行指针,表示的是每行有5个元素,通过p=a使p成为了指向了二维数组的第一行的指针,通过for循环将are与you输出!

愿用余生致力编程
2009-11-06 21:40
pickle2009
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2009-9-15
收藏
得分:0 
上楼的分析太好了 学习了!
2009-11-06 22:10
八月的风
Rank: 2
来 自:江苏盐城
等 级:论坛游民
帖 子:30
专家分:30
注 册:2009-11-6
收藏
得分:0 


八月的风
2009-11-08 14:02
快速回复:几道分析题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016487 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved