我在Visual C++.NET中写如下语句:
BYTE s = 210;
当然是在赋值语句之后设置断点。
然后我在调试器中观察s的值看到值为0;但是我写如下语句:
if(s == 0)
{
// do sth;
}
不执行。
但是
if(s == 210)
{
// do sth;
}
执行。
但是为什么在调试器中却看不到s的值为210呢?不要轻视它,你自己试一试就知道了!
BYTE s = 210;
当然是在赋值语句之后设置断点。
然后我在调试器中观察s的值看到值为0;但是我写如下语句:
if(s == 0)
{
// do sth;
}
不执行。
但是
if(s == 210)
{
// do sth;
}
执行。
但是为什么在调试器中却看不到s的值为210呢?不要轻视它,你自己试一试就知道了!
搂主够牛
{
BYTE s = 200;
int i = 90;
在此设断点 i = i + 1;
return 0;
}看一看在调试器里s的值。
在控制台模式的情况下也是一样的。
http://expert.csdn.net/Expert/topic/1982/1982475.xml?temp=.26470587.1.3088版;
#include <stdio.h>
#include <conio.h>
void stack()
{
int i = 0;
printf("%d\n",&i);
getch();
}int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
printf("%x\n",&i);
stack();
getch();
int a[20000000];
a[19999999] = 0;
printf("%d",a[19999999]);
return 0;
}哈,兄弟,有空这个也报了吧,在我的机器上,非优化下它抛出异常,/02下反而正常;
版本见上,近来这样的问题太多了,我都麻木了;多教训教训MS的人;谢谢拉;初学,不知道,请多指教;