| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 884 人关注过本帖
标题:新手遇一小程序不知所解
只看楼主 加入收藏
地狱天使79
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2012-5-8
结帖率:37.5%
收藏
已结贴  问题点数:10 回复次数:10 
新手遇一小程序不知所解
今天在书上看到一个程序题,怎么解也不知道结果是多少,
还望哪位大侠帮助分析一下。
#include <stdio.h>
main()
{
  int m[12],k;
  int *p[3],sum=0;
for(k=0;k<12;k++)
  {
    m[k]=2*k;
    if(k<3)
    p[k]=m+2*k*k
  }
 for(k=0;k<3;k++)
  sum+=(*(p+k))[4-k];
printf("sum=%d\n",sum)
}
搜索更多相关主题的帖子: include 今天 多少 
2012-05-31 15:57
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:1 
你问路的时候不告诉对方目的地在哪吗?

总有那身价贱的人给作业贴回复完整的代码
2012-05-31 17:07
凤凰涅槃
Rank: 2
来 自:甘肃定西
等 级:论坛游民
帖 子:47
专家分:36
注 册:2012-3-5
收藏
得分:1 
你把程序写全啊,结束时的“;”都没有记住啊“;”是英文状态下的下面应该改合适着呢
#include <stdio.h>
main()
{
  int m[12],k;
  int *p[3],sum=0;
for(k=0;k<12;k++)
  {
    m[k]=2*k;
    if(k<3)
    p[k]=m+2*k*k;
  }
for(k=0;k<3;k++)
  sum+=(*(p+k))[4-k];
printf("sum=%d\n",sum);
}
2012-05-31 21:24
heifeng2012
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:53
专家分:113
注 册:2012-3-22
收藏
得分:1 
#include <stdio.h>
main()
{
  int m[12],k;
  int *p[3],sum=0;
for(k=0;k<12;k++)
  {
    m[k]=2*k;
    if(k<3)
    p[k]=m+2*k*k               //差分号
  }
for(k=0;k<3;k++)
  sum+=(*(p+k))[4-k];
printf("sum=%d\n",sum)             //差分号

}
2012-05-31 21:29
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:1 
运行下这个,看看能不能理解一些
程序代码:
#include <stdio.h>
main()
{
    int m[12],k;
    int *p[3],sum=0;
    for(k=0;k<12;k++)
    {
        m[k]=2*k;
        printf("m[%d]=%d\n",k,m[k]);
        if(k<3)
            p[k]=m+2*k*k;
    }
    for(k=0;k<3;k++)
        printf("p[%d]->p[%d]\n",k,2*k*k);

    for(k=0;k<3;k++)
    {
        printf("%d\n",(*(p+k))[4-k]);
        sum+=(*(p+k))[4-k];
    }
    printf("sum=%d\n",sum);
}
2012-05-31 22:25
震中地带
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:171
专家分:359
注 册:2012-3-26
收藏
得分:1 
结果是38,
sum+=(*(p+k))[4-k];
不过这一句分析不透哎,p是有三个数组元素的数组,且三个元素都是指针同求解, 那么p+k就是p[k]喽,它是一个指针,且p[k]=&m[2*k*k],那么*p[k]不是等于2*2*k*k吗?那(2*2*k*k)[4-k],这是神马东西?求解!!!
2012-05-31 22:40
震中地带
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:171
专家分:359
注 册:2012-3-26
收藏
得分:0 
回复 5楼 luchar
领教了!太犀利了!能分析一下俺的疑问吗?谢谢
2012-05-31 22:48
xiaozilai
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2012-5-30
收藏
得分:1 
哎!其实我也有点不懂 虽然我上机试了一下是38
2012-05-31 22:53
马亚杰
Rank: 2
来 自:甘肃.天水
等 级:论坛游民
帖 子:38
专家分:43
注 册:2012-3-9
收藏
得分:1 
printf("p[%d]->p[%d]\n",k,2*k*k);是不是把指针地址强制改变了.

喜欢电脑的疯子.
2012-06-01 06:11
如此悠然
Rank: 2
等 级:论坛游民
帖 子:62
专家分:86
注 册:2012-5-18
收藏
得分:1 
小手一抖,十分到手,手提酱油,低头猛走。。。

——————
严谨
2012-06-01 07:44
快速回复:新手遇一小程序不知所解
数据加载中...
 
   



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

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