所以我有一個程序使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