预测一下这道题的结果,注意unsigned与signed
#include<iostream>
#include<stdio.h>
using namespace std;
int arr[]={1,2,3,4,5};
int main(){
for(int i=-1;i<sizeof(arr)/sizeof(arr[0]) - 1;i++)
cout<<arr[i+1]<<endl;
}
sizeof()返回的值是无符号数,有符号数遇到无符号数变成无符号数,所以在
i<sizeof(arr)/sizeof(arr[0])运算中i=-1变成无符号数,那么i将变成一个非常大的数,所以这个程序没有输出