[英]Printing an incremented character using cout
为什么在下面的示例中必须在code
函数内部进行类型转换以返回char
类型的值,因为我已经在函数定义中将其声明为char的常量指针?
特别是cout << (*p + 1)
,结果是整数格式,而当将其更改为cout << (char) (*p + 1)
,结果以char格式显示,因为我正在对它进行类型转换。
<<
操作符是否具有一些默认参数,以显示哪种类型?
#include <iostream>
using namespace std;
void code(const char* p);
int main()
{
code("This is a test");
return 0;
}
void code(const char* p)
{
while(*p)
{
cout << (*p + 1);
p++;
}
}
更改
cout << (*p+1);
至
cout << *(p+1);
这样做是出于@LogicStuff所述的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.