关于字符串
#include"stdio.h"#include"string.h"
void convert(char s[],int N)
{
char temp,*p,s1[100];
int j,i;
strcpy(s1,s);
p=s1;
for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
if(s[i]>s[j])
{
temp=s[i];s[i]=s[j];s[j]=temp;
}
}
for(i=0;i<N;i++)
printf("%s",s[i]);
if(s[i]==*p)
if(i==0)
printf("%s",*p);
else printf("%s",*(p-1));
else
p++;
}
main()
{
char a[20];
int i;
scanf("%s",a);
i=strlen(a);
convert(a,i);
}
错误提示:内存不能读
题目要求:任意给定一个字符串s,将s中的各字母按照字典顺序排序形成新的字符串t,依次输出t中字符在原字符串s中的前一位
如exam 排序后为aemx ,最后输出xmae