首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个动态分配有关问题

2012-02-15 
一个动态分配问题/*目标是动态分配一个二维数组,然后读一行字符,最后打印出来*/#includestdio.h#include

一个动态分配问题
/*目标是动态分配一个二维数组,然后读一行字符,最后打印出来*/    
#include     <stdio.h>    
#include     <stdlib.h>    
#define     LEN     30    
int     main()    
{    
char     **pt;    
int     i;    
 
pt     =     (char     **)malloc(     sizeof(char)*LEN*LEN     );    
for(i=0;     i <LEN;     i++)    
  {    
  printf( "Please     input     a     string: ");    
  scanf( "%s ",pt[i]);    
  printf( "the     string     is     %s\n ",pt[i]);    
  }      
free(pt);                                                  
return     0;    
}    
 
错误:每次打印出来是空,没有内容    
刚学,请高手帮忙。

[解决办法]
int main()
{
char **pt = NULL;
int i;

pt = new char*[LEN];

//校验内存是否分配成功;

pt[0] = new char[LEN * LEN];

//校验内存是否分配成功;

for (i=0; i < LEN; i++)
{
pt[i] = pt[0] + (i * LEN);
printf( "Please input a string: ");
scanf( "%s ", pt[i]);
printf( "the string is %s\n ",pt[i]);
}

//释放内存

return 0;
}

热点排行