vc下调试一个强制转换问题,单步调试察看参数时的问题
#include <stdio.h>
int array[] = { 23, 34, 12, 17, 204, 99, 16 };
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))
void main ()
{
int d = -1, x;
int xx = TOTAL_ELEMENTS;
if ( d <= TOTAL_ELEMENTS - 2 )
x = array[d+1];
printf("%d", x); //单步调试到这里参数一切正常,独独x的值不对 array[d+1]正常。(不明白为什么)
}
本以为d的值会因为在if语句时候 由 int 强制转换成 unsinge int的时候改变 为什么一直没变??