我試圖將C字符串轉換爲全部小寫字母,而不使用ctype.h中的tolower。 加強我的代碼似乎不工作:我收到一個運行時錯誤。我試圖做的是改變大寫字母bij'a' - 'A'的ASCII值,應該將這些值轉換爲小寫字母,只要我知道。將C字符串轉換爲全部較低
#include <stdio.h>
void to_lower(char* k) {
char * temp = k;
while(*temp != 0) {
if(*temp > 'A' && *temp < 'Z') {
*temp += ('a' - 'A');
}
temp++;
}
}
int main() {
char * s = "ThiS Is AN eXaMpLe";
to_lower(s);
printf("%s",s);
}
您收到的錯誤是什麼?看起來你在'to_lower'後面有一個額外的'}'。 – SimpleJ
它也看起來像你正在修改一個未定義行爲的字符串文字。 –
@SimpleJ:他沒有額外的'}',它只是未格式化的代碼。 –