329test.exe 中的 0x004115f6 处最可能的异常: 0xC0000005: 写入位置 0x00417800 时发生访问冲突
#include "stdafx.h"
#include <iostream>
using namespace std;
#define Character "fgghrfdtyyujrxj"
void SortCharacter(char* c, int length);
int main(){
int length = strlen(Character);
char *ch = Character;
SortCharacter(ch);
cout << ch << endl;
return ;
}
void SortCharacter(char* c, int length)
{
for(int i = 0; i < sizeof(c); i++)
{
for(int j = i + 1; j < sizeof(c); j++)
{
if(*(c + i) > *(c + j))
{
char a = *(c + i);
*(c + i) = *(c + j);
*(c + j) = a;
}}}}
char *ch = Character;
Character是存放在内存的静态数据,你对静态数据进行操作当然会出错了
改为malloc动态申请内存或者使用数组就可以了。