當我運行下面的代碼時,我的輸出不是我所期望的。指針算法陣列
我的理解方式是ptr
指向Str
數組的第一個元素的地址。我認爲ptr + 5
應該導致+5號元素是f
。所以輸出只能顯示f
而不能同時顯示fg
。
爲什麼顯示fg
?它是否與cout
顯示數組有關?
#include <iostream>
using namespace std;
int main()
{
char *ptr;
char Str[] = "abcdefg";
ptr = Str;
ptr += 5;
cout << ptr;
return 0;
}
預期輸出:f
實際輸出:fg
ptr - 指向字符串的指針。如果你想打印字符,使用* ptr:cout << * ptr; – SashaMN
用更合適的「指向」替換「主角」,你就會明白。 – Drop