| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1238 人关注过本帖
标题:二维数组的问题---为什么这样写不行?
只看楼主 加入收藏
宁缺T
Rank: 1
等 级:新手上路
帖 子:21
专家分:8
注 册:2019-9-12
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:2 
二维数组的问题---为什么这样写不行?
运行结果如图所示:
图片附件: 游客没有浏览图片的权限,请 登录注册

有关代码
程序代码:
#include<stdio.h>
int main(){
   int row,i,j;
   int a[][4]={0};
   scanf("%d",&row);
   for(i=0;i<row;i++)
     for(j=0;j<4;j++)
       scanf("%d",&a[i][j]);

   for(i=0;i<row;i++)
   {
       for(j=0;j<4;j++)
       {
           printf("%d",a[i][j]);
       }
       printf("\n");
        
     return 0;
   }


搜索更多相关主题的帖子: i++ 二维数组 int row for 
2019-11-29 16:18
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1688
专家分:4262
注 册:2007-12-27
收藏
得分:10 
ANSI C意义下的数组是固定大小的,尺寸上没有弹性。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-11-29 16:30
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:569
专家分:3707
注 册:2019-7-29
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<stdlib.h>

int main()
{
   int row,i,j;
   int **a;
   scanf("%d",&row);

    a=(int**)calloc(row,sizeof(int*));                      //分配动态内存
    for(i=0;i<row;i++)
        a[i]=(int*)calloc(4,sizeof(int));

   for(i=0;i<row;i++)
     for(j=0;j<4;j++)
       scanf("%d",&a[i][j]);

   for(i=0;i<row;i++)
   {
       for(j=0;j<4;j++)
       {
           printf("%3d",a[i][j]);
       }
       printf("\n");
   }

    free(a);                    //释放分配的动态内存
    for(i=0;i<row;i++)
        free(a[i]);

   return 0;
}

可以使用动态内存分配的方法

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-11-29 18:17
快速回复:二维数组的问题---为什么这样写不行?
数据加载中...
 
   



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

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