答案 0 :(得分:2)
当我说
cout << x
时,我不明白应该打印什么。
由于x
的类型为char*
,因此在打印时会将其视为以null结尾的C字符串。如果将指针打印到字符串的中间,则会打印字符串的后缀:
const char *str = "ABCDEFG";
const char *ptr = str + 3;
cout << ptr; // prints DEFG
在此上下文中,当它表示
时if ( *x==*y)
表示字母应该相等或位置
*
表示&#34;由......&#34;指向的值,即字母应该相等,而不是位置。
答案 1 :(得分:0)
当你说cout << x
它应该打印出整个char数组。我们说char *x = "Something"
。如果输入cout << x
,输出将为:Something。 *符号是解引用运算符,它用于取消引用指针(换句话说,获取指针的值)。因此,如果您有char *x = "Something"
和char *y = "Some other thing"
,并且如果要比较这些char数组的第一个字符,则可以使用if(*x == *y)
。因此取消引用char数组会得到第一个char。 cout << *x
输出为:S。