int main()
{
char c,d;
scanf("%c",&c);
scanf("%c",&d);//如果输入了一个字符后按回车,则d为回车
//scanf("%c%c",&c,&d);//同上
printf("%c ",c);
printf("%c ",d);
int N;
int M;
scanf("%d",&N);
scanf("%d",&M);
char **img;
img = (char **) malloc(sizeof(char*)*N);
//img = new char *[N];
char tmp;
for (int i = 0; i < N; i++)
{
img[i] = (char*) malloc(sizeof(char)*M);
//img[i] = new char[M];
//scanf("%s",img[i]);//如果要忽略末尾的换行符,则用此方法
for (int j = 0; j < M;j++)
{
scanf("%c",&img[i][j]);
}
scanf("%c",&tmp);//如果是一个个字符的输入,换行后再输入下一行,则要把这个换行符单独处理掉
}
for (int i = 0; i < N; i++)
{
free((void *)img[i]);
//free(img[i]) //runtime error
}
free ((void *)img);
//free(img)//normal
/*for(int i=0;i<N;i++)
{
delete[] img[i];
}
delete []img;*/
return 0;
}
new和delete以及malloc和free 二维数组
最新推荐文章于 2022-11-05 23:13:43 发布