首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

看一上小弟我这个循环为什么会死进去

2013-02-24 
看一下我这个循环为什么会死进去while (true){int x,ycin x yif (x NULL || y NULL) break

看一下我这个循环为什么会死进去


while (true)
{
int x,y;
cin >> x >> y;
if (x == NULL || y == NULL) break;

TmpPo.setCoordinate(x,y);
PointList.push_back(TmpPo);
x = y = NULL;
}


大概是这样的有一个Point类,有x,y坐标,我的目的是如果输入了一串数,第一种情况:奇数个数,这时候最后一遍循环的y还没有初始化,我这里不太确定用NULL对比对不对,但是是要判定Y是不是存在,如果不存在就跳出,同理第二种情况如果偶数个数那么x就没有初始化,

我有点说不太清楚究竟需要大家帮我解决什么问题了,大概我有这样的需求,请教大家的高见.
[解决办法]
楼主编译器以及操作系统报一下

XP VS2010 两个输入中有一个为0,正常break。
[解决办法]
NULL的定义是0,是一个确定的数值,不表示“没有初始化”或“不存在”,也不表示“按下回车”。

NULL一般只用于指针,不应用于int型,虽然这样用也可编译,但最好不要这么用。整数就用0。

C++中没有值表示“没有初始化”,你必须自己设定一个初始值,然后比较这个初始值来判断是否初始化。

无论整数还是指针,“汉有初始化”的变量是一个不确定的值,任何读取比较的操作都是错误操作。

热点排行