| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 635 人关注过本帖
标题:一个简单的指针问题。
取消只看楼主 加入收藏
源本云明
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-7-1
结帖率:0
收藏
 问题点数:0 回复次数:3 
一个简单的指针问题。
下面这个程序是:输入一个二维数组即矩阵,然后将该矩阵输出,并通过sum函数将矩阵中的所有元素求和。
#include "stdio.h"
#define N 2
int sum(int *p)
{
   int i,j,s=0;
   for(i=0;i<N;i++)
    for(j=0;j<N;j++)
      s+=*((p+i)+j);
     return s;
}
void main()
{
    int i,j,a[N][N];
    printf("input the array:\n");
    for(i=0;i<N;i++)
     for(j=0;j<N;j++)
      scanf("%d",&a[i][j]);
    printf("输出矩阵:\n");
    for(i=0;i<N;i++)
     {for(j=0;j<N;j++)
       printf("%4d",a[i][j]);printf("\n");
     }
    printf("矩阵中元素之和为:%d\n",sum(a[0]));
}
程序没有语法错误,但是运行的时候,结果好像有点不太对,结果如图1
1.zip (2.62 KB)
所示。大家帮忙看看,并指出问题所在,不胜感激。
搜索更多相关主题的帖子: 指针 
2010-07-01 12:53
源本云明
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-7-1
收藏
得分:0 
可能是,我的算法应该没有错,但是运行结果错了,所以肯定是指针执行过程中出错,后来改用数组实现,结果无误.所以指针肯定用错了!还请多多指点,谢谢了
2010-07-01 14:10
源本云明
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-7-1
收藏
得分:0 
谢谢各位了,回去试一下
2010-07-02 08:34
源本云明
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-7-1
收藏
得分:0 
该怎么改呢?请问?
2010-07-02 14:25
快速回复:一个简单的指针问题。
数据加载中...
 
   



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

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