C++_char输出乱码

#include <iostream>

using namespace std;

int main()
{
	int ia;
	char ca[] = { '0','1','2','3','\0' };
	int* iptr = &ia;
	const char* cptr = &ca[0];

    // int类型占4字节。指针加1地址加4.
	cout << iptr << endl;
	cout << "int指针加1:" << ++iptr << endl;
    // char类型占1字节。指针加1地址加1.
	cout << static_cast<const void *>(cptr) << endl;
	cout << "char指针加1:" << static_cast<const void *>(++cptr) << endl;

	cin.get();
	return 0;
}
输出:
0073F7C8
int指针加1:0073F7CC
0073F7B8
char指针加1:0073F7B9

注意:

1、在定义char时,需要对其进行初始化,在末尾需要加入‘\0’,否则会导致输出乱码。发生内存越界访问。

2、在使用C++的cout输出字符地址时,需要对其进行强制转换。否则将输出字符内容。

猜你喜欢

转载自blog.csdn.net/qq_37140815/article/details/81152010