运用 malloc 开辟内存对字符串输入进行存储,为什么输出不是输入的呢?改成整形变量就行了呢
RT代码如下,求指教
程序代码:
#include <stdio.h> #include <stdlib.h> void main() { int r,c;int i,j; char *p; printf("请输入地图的行数和列数,空格隔开:\t"); scanf("%d%d",&r,&c); printf("请输入%d行%d列的地图:\n",r,c); p=(char *)malloc(sizeof(char)*r*c); for(i=0;i<r;i++) { for(j=0;j<c;j++) { scanf("%c",(p+c*i+j)); } } for(i=0;i<r;i++) { for(j=0;j<c;j++) { printf("%c\t",*(p+c*i+j)); } printf("\n"); } }