请各位大侠帮帮小弟啊,菜鸟一只,自己编的程序出现很多警告就是改不出来
要求将输入的字符串里的字符排序后输出。我想用个申请动态内存的方法写,后来写成这样了。编译的时候有很多警告,又什么char大概类型的改变什么的东西。不会改。求各位给改下。谢谢啦。菜鸟只能靠大侠啦#include "stdio.h"
#include "stdlib.h"
#include "string.h"
char MyStrcat(char *dp);
main()
{
char *p=NULL;
int n;
printf("Please enter array size:");
scanf("%d",&n);
p=(char *)malloc(n*sizeof(char)); //申请动态n*sizeof(char)大小的内存
if(p==NULL)
{
printf("No enough memory!\n");
exit(0);
}
printf("Please enter the words:\n");
gets(*p);
MyStrcat(p);
puts(*p);
free(p);
}
char MyStrcat(char *dp)
{
int i,k;
char max,temp;
max=*dp;
for(i=0;*(dp+i)!='\0';i++)
{
k=strcmp(max,*(dp+i));
if(k<0)
{
temp=*(dp+i);
*(dp+i)=max;
max=temp;
}
}
}