waterine(waterine) 当i是一个自定义类对象,其比较运算符被重载了,!=总返回true的时候。 (然而,题目问的是i= 什么值时会死循环,因此不能对!=做任何重载假定,故该解不成立)呵呵setdefault(山转水也转) bool b = false; bool i { get {return b=!b;} }感觉此为正解
double.NaN按道理不会出这样的题目啊. 难道微软招人做CLR?另外如果你做一个属性int _i; public int i { get{return ++_i;} }这也会死的.
真是microsoft的一道 面试题
2.i=忽悠
3.i=0
4.i=一道0分的微软面试题(求解)!
bool i
{
get
{return b=!b;}
}
setdefault(山转水也转) ( )是对的。
int i{
get{
return I++;
}
}
但是 如果累加超过范围 死循环不久出错了么...吧int i赋一个比int更大的值会怎么样 ...?
当i是一个自定义类对象,其比较运算符被重载了,!=总返回true的时候。 (然而,题目问的是i= 什么值时会死循环,因此不能对!=做任何重载假定,故该解不成立)呵呵setdefault(山转水也转)
bool b = false;
bool i
{
get
{return b=!b;}
}感觉此为正解
public int i
{
get{return ++_i;}
}这也会死的.
bool i
{
get
{return b=!b;}
}
是的我也这么认为.
一个属性,get中改变它的值
#define i (i = !i)
如果浮点数处在非法范围里,这个比较应该是返回非零的。
如下将一个double类型的i设置在非法区间就成了死循环了
struct DoubleHSplit
{
DWORD F:20;
DWORD E:11;
DWORD S:1;
};
union DoubleSplitor
{
double dbdata;
__int64 ddwdata;
DWORD dwdata[2];
DoubleHSplit ds[2];
};
DoubleSplitor dtmp ;
dtmp.ds[1].S = 1;
dtmp.ds[1].E = 2047;
dtmp.ds[1].F = 1;
dtmp.dwdata[0] = 0;
double i = dtmp.dbdata;
#include <stdlib.h>void main()
{
float i = atof("Nan");
while(i != i) {
printf("i!=i\n");
}}
NaN!=NaN 问:什么也不是不等于什么也不是么?
false 答:当然不等于
解释:如果“等于”那怎么还会叫“什么也不是”
!@#$%^&*( 晕:既然什么也不是不等于什么也不是,那怎么是什么也不是呢?
setdefault:字典上说nan是一种巴基斯坦发酵面包,东部(等于号左)和西部(右)做的口味不一样
晕死。这些家伙真变态~
晕死。这些家伙真变态~
i是一个属性