对一个程序的思考(-1如何存储)

时间:2021-07-14 15:04:52
#include<iostream>
using namespace std;

void main()
 {
	 char a[1000];
	 for(int i=0;i<1000;++i)
	 {
		 a[i] = -1 -i;
	 }
	 cout<<strlen(a)<<endl;
 }

对于上边的程序其实必须理解到内存中-1是如何存储的,而且必须明白strlen的结束符时数字零还是字符零(这个可以看我的这篇博客)

首先这个程序的结果是255不知道是否感到惊讶,下面我们分析一下

在内存中可以查看一下:

对一个程序的思考(-1如何存储)

对一个程序的思考(-1如何存储)