| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 439 人关注过本帖
标题:指针跟二维数组的一点问题, 会的麻烦看下,谢谢了
只看楼主 加入收藏
gg0013
Rank: 2
等 级:论坛游民
帖 子:25
专家分:16
注 册:2012-11-26
结帖率:100%
收藏
 问题点数:0 回复次数:2 
指针跟二维数组的一点问题, 会的麻烦看下,谢谢了
#include<stdio.h>
#define N 4

void  main()
{
int n,i,j;
int s[N][3]={0};
int (*p)[3];

p=s;
for(i=0;i<N;i++)
{
 printf("请输入学生的学号:");
 scanf("%d",&(*(p+i)));
 printf("输入成绩:");
 for(j=0;j<3;j++)
 {
  scanf("%d",&(*(*(p+i)+j)));
 }
 for(i=0;i<N;i++)
  for(j=0;j<3;j++)
   printf("%4d",*(*(p+i)+j));
  printf("\n");
}
}




1,运行后的, 为什么会不再循环了,出现那么多0?是哪里逻辑思考出错了?

2,若将#denfine N 4,改成#denfine N 5,内存空间是重新开辟新一个空间?还是覆盖之前的空间
搜索更多相关主题的帖子: 谢谢 include 
2013-05-14 18:58
gg0013
Rank: 2
等 级:论坛游民
帖 子:25
专家分:16
注 册:2012-11-26
收藏
得分:0 
好的, 是输出时候for(i=0;i<N;i++)这句重复了, 因为输出的时候还在外部的for(i=0;i<N;i++)循环中。
2013-05-14 19:26
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
因为你数组初始化的时候都是零,然后你途中就对头三个赋值,所以剩下的就都是零了

Maybe
2013-05-14 21:00
快速回复:指针跟二维数组的一点问题, 会的麻烦看下,谢谢了
数据加载中...
 
   



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

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