主题:请教一个关于c语言动态内存分配函数的问题
我想利用动态内存分配函数的方式输入五个单词,再显示出五个单词,但是总是不行,请教一下各位高手程序哪里有问题吗? 一下是代码,环境是vs2010.
#include <stdio.h>
#include <stdlib.h>
void main()
{
char *p1;
int i;
void *p2;
p2=malloc(5*sizeof(char));
for(i=0;i<5;i++)
{
p1=(char *)p2;
printf("please input the %dth word\n",i+1);
scanf("%s",p1+i);
}
for (i=0;i<5;i++)
{
printf("%s ",p1[i]);
}
free(p2);
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
void main()
{
char *p1;
int i;
void *p2;
p2=malloc(5*sizeof(char));
for(i=0;i<5;i++)
{
p1=(char *)p2;
printf("please input the %dth word\n",i+1);
scanf("%s",p1+i);
}
for (i=0;i<5;i++)
{
printf("%s ",p1[i]);
}
free(p2);
system("pause");
}