#include
static char *str = "naitdocexv";
void StringSortIn(char p, int len)
{
int i = 0;
int j = 0;
char val = 0;
while(i < len)
{
for(j = i + 1; j < len; j ++)
{
if((p + i) > *(p + j))
{
val = *(p + i);
*(p + i) = *(p + j);
*(p + j) = val;
}
}
i ++;
}
}
void StringSortDe(char p, int len)
{
int i = 0;
int j = 0;
char val = 0;
while(i < len)
{
for(j = i + 1; j < len; j ++)
{
if((p + i) < *(p + j))
{
val = *(p + i);
*(p + i) = *(p + j);
*(p + j) = val;
}
}
i ++;
}
}
void StringSortFunc(int a, int s, int e)
{
if(a == 0){
StringSortDe(str + a - 1, e - s);
}
if(a == 1){
StringSortIn(str + a - 1, e - s);
}
}
int main()
{
StringSortFunc(1, 1, 3);
puts(str);
StringSortFunc(0, 9, 10);
puts(str);
StringSortFunc(1, 7, 9);
puts(str);
return 0;
}
我要对字符串进行局部排序,现在有问题。
首先,char *str = "naitdocexv";这样写为什么会出现访问权限冲突?
然后,这样改char str[] = "naitdocexv"。发现程序可以运行,确只运行一次就跳出了。结果是错的。
我觉得没啥问题啊。是不是VS2015有问题?麻烦大家帮忙看看啊。