注意sizeof()返回的数无符号数,有符号数遇到无符号数时变成无符号数

时间:2014-08-17 15:38:02   收藏:0   阅读:577

预测一下这道题的结果,注意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将变成一个非常大的数,所以这个程序没有输出 


注意sizeof()返回的数无符号数,有符号数遇到无符号数时变成无符号数,布布扣,bubuko.com

原文:http://blog.csdn.net/youngyangyang04/article/details/38638995

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!