所以我有一个程序使char *的东西小写。它通过遍历和操作ascii来完成。现在我知道在C++中可能有一些这样的库,但那不是重点 - 我是一个试图掌握char * s和东西的学生:)。编写char *迭代时,“Debugger已经退出,因为信号10”
这里是我的代码:
#include <iostream>
using namespace std;
char* tolower(char* src);
int main (int argc, char * const argv[])
{
char* hello = "Hello, World!\n";
cout << tolower(hello);
return 0;
}
char* tolower(char* src)
{
int ascii;
for (int n = 0; n <= strlen(src); n++)
{
ascii = int(src[n]);
if (ascii >= 65 && ascii <= 90)
{
src[n] = char(ascii+32);
}
}
return src;
}
(这不是一个赋值;))
它建立正常,但是当我运行它,我得到一个“调试器已因信号退出10“,Xcode指向下面的行:”src [n] = char(ascii + 32);“
谢谢!
马克
n的值是多少? – 2009-03-04 22:27:29
另外,转换为int并返回的思想过程是什么?上次我检查,char在C++中是一个数字类型。 – 2009-03-04 22:30:08