我有這個與指針的運動:這個解除引用聲明有什麼問題?
char *str = "Hello";
int count = 0;
int len = 5;
printf("%c\n", *(str + count));
printf("%c\n", *(str + len - count - 1));
*(str + count) = *(str + len - count - 1);
兩個*(str + count)
和*(str + len - count - 1)
是爲printf
小號鑑證有效值(我得到H
和o
)。那麼爲什麼我在運行上述時得到bus error
?
'str'從哪裏來? – 2012-02-17 02:38:32
'char'數組的大小是多少,'count'和'len'的值是多少? – 2012-02-17 02:40:14
隨着你增加'count',一個參考將移動一個方向,另一個參考。我猜你正走在陣列的盡頭,可能是在前端。 – 2012-02-17 02:46:12