51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> C >> 文章正文

0xC0000005: 写入位置 0x00417800 时发生访问冲突

更新时间:2012-3-29:  来源:51代码网

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动态申请内存或者使用数组就可以了。

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |