| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:动态二维数组分配有问题啊 为什么行和列相同才能给数组赋值
取消只看楼主 加入收藏
yuanhaitaozz
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:32
专家分:9
注 册:2013-8-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
动态二维数组分配有问题啊 为什么行和列相同才能给数组赋值
#include <stdio.h>
#include <stdlib.h>
void fun(char **p1,char *p2,int p,int q);
int main()
{
    int m,n,g,d,f;
    char **x;
    char *y;
    puts("输入行和列");
    scanf("%d %d",&m,&n);
    while(getchar()!='\n')
        continue;
    d=m*n;
    printf("%d  %d",m,n);
    x=(char **)malloc(m* sizeof(char *));      
    for(g=0;g<m;g++)
        x[g]=(char *)malloc(n*sizeof(char)+1);               
    puts("输入二维数组各项");
    for(g=0;g<m;g++)
    {
        gets(x[g]);
        
    }
    y=(char *)malloc(sizeof(char)*m*n+1);      
    fun(x,y,m,n);
    for(g=0;g<m;g++)           //输出检验
    {
        for(f=0;f<n;f++)
            putchar(x[g][f]);
        putchar('\n');
    }
    putchar('\n');

    puts(y);
    putchar('\n');
    free(x);
    free(y);
    return 0;

}
void fun(char **p1,char *p2,int p,int q)
{
    int i,j,l=0;
   
    for(i=0;i<p;i++)
    {
        for(j=0;j<q;j++)
        {
            
            p2[l]=p1[j][i];
            l++;
            
        }
    }
    p2[l]='\0';

}
RT  只有在m,n相同的时候才能执行到最后
搜索更多相关主题的帖子: continue include 动态 
2013-08-25 20:45
yuanhaitaozz
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:32
专家分:9
注 册:2013-8-22
收藏
得分:0 
可以直接忽略d这个变量。。。忘删了
2013-08-25 20:46
yuanhaitaozz
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:32
专家分:9
注 册:2013-8-22
收藏
得分:0 
回复 3楼 lzj12530
执行的了   但行和列只能输入相同的数的时候才能为该二维数组输入内容  否则就是跳出来强行关闭的窗口
2013-08-26 14:20
yuanhaitaozz
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:32
专家分:9
注 册:2013-8-22
收藏
得分:0 
回复 5楼 liufashuai
   非常感谢   只是我是新手  可以讲一下怎么才能让人看起来干净呢  虚心求教   举个差不多的例子就可以
2013-08-26 16:16
快速回复:动态二维数组分配有问题啊 为什么行和列相同才能给数组赋值
数据加载中...
 
   



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

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