[英]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.