aaa*_*aaa -1 c++ sequences character
我有一些代码:
#include <iostream>
#include <string>
using namespace std;
int main(){
char abc [20] = "Hello Hello Hi";
char* ptr = abc;
cout << (abc+3);
return 0;
Run Code Online (Sandbox Code Playgroud)
}
为什么它从第三个字符打印而不仅仅是第三个字符?
- 编辑 - 向谁标记它.它与prinf()不同,但是相同类型的概念.我只是不知道细微差别
要理解为什么,你必须了解一些指针算法.
abc与&abc [0]相同,(abc + 3)与&abc [3]相同
话虽这么说,cout将一个字符串从给定的char*打印到一个空字符.
因此,您基本上只是将从第三个字符开始的字符串打印到字符串的末尾.如果您只想打印第三个字符,可以取消引用指向第三个字符的指针.
*(abc + 3)
Run Code Online (Sandbox Code Playgroud)