[問題] 字元陣列與字元指標的問題
請問各位大大
以下程式究竟出了甚麼問題
這個程式主要是把字串做反轉動作
void strrev(char *str)
{
int head = 0, tail = 0;
char ch;
char *ptr = str;
while (*ptr != '\0') {
tail++;
ptr++;
}
tail--;
while (head < tail) {
ch = *(str+head);
*(str+head) = *(str+tail);
*(str+tail) = ch;
head++;
tail--;
}
}
void main()
{
char str1[] = "ABC123456789"; //如果改成char *str1 = "ABC123456789"
//則無法正常執行
strrev(str1);
printf("%s\n", str1);
}
請問main函式裡面str1[]為什麼改成*str1程式就無法正常執行?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.72.177
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1408215722.A.038.html
推
08/17 03:15, , 1F
08/17 03:15, 1F
→
08/17 03:15, , 2F
08/17 03:15, 2F
→
08/17 03:16, , 3F
08/17 03:16, 3F
推
08/17 08:46, , 4F
08/17 08:46, 4F
→
08/17 18:08, , 5F
08/17 18:08, 5F