我正在编写一个非常简单的测试程序来交换 char* 指向的字符串中的所有字符。但是,我从 Visual C++ 中得到了一个非常奇怪的异常。
我的代码将粘贴在下面,Chapter1 是项目的名称。
提前感谢大家,请随时在下面发帖询问任何进一步的问题。
问题2.h
#ifndef _QUESTION2_H_
#define _QUESTION2_H_
namespace Q2
{
void swap(char *begin, char *end);
void reverse(char *str);
void run();
}
#endif
Question2.cpp
#include <iostream>
#include "Question2.h"
using namespace std;
namespace Q2
{
void swap(char *begin, char *end)
{
char tmp = *begin;
*begin = *end;
*end = tmp;
}
void reverse(char *str)
{
char *begin = str;
char *end = str;
while(*end != NULL)
end++;
end--;
for(; begin < end; begin++, end--)
swap(begin, end);
}
void run()
{
char *str1 = "hello";
reverse(str1);
cout << str1 << endl;
return;
}
}
主文件
#include <iostream>
#include "Question2.h"
int main()
{
Q2::run();
return 0;
}