1. 不能调试,错误提示: one or more breakpoints cannot be set and have been disabled...
网上查了资料没能解决,最后的解决方法:
把工程拷贝到新的目录下,删除工程中的 ncb, .opt, .plg文件。 注意是拷贝,不是剪切
重新设置断点进行调试,OK!
2.程序中有个全局变量在给一个“数组”赋值后就无故变化,不能理解,这个赋值语句怎么会对这个无关的全局变量造成影响呢?
inputBuf[i] = inchar; //造成全局变量scanCount变化
程序中的定义如下:
char inputBuf[HALF_BUFSIZE] = {'\0'}; //读入字符的对半缓冲区
int scanCount = 0; //缓冲区当前位置的字符
分析:首先,这是全局变量,是在堆中的空间,在内存中scanCount这个变量是紧挨着 inputBuf 的,
错误原因:inputBuf 定义小了,所以当超过 inputBuf 超过 HALF_BUFSIZE 时,就会变成对scanCount的赋值。