关于CB使用时出现的一些意想不到的问题。
int num_stu,biaoji1,biaoji2;....................//我的目的是用传统方法建立一个冬天二维数组,二维浮点型数组名称array,
scanf("%d",&num_stu);
.....................
array=(float**)malloc(num_stu*(sizeof(float)));//分配外部数组内存
for(biaoji1=0;biaoji1<num_stu;biaoji1++) //分配内部数组内存
array[biaoji1]=(float *)malloc(MAX*sizeof(float));
.....................
因为这次出现的问题太诡异了,而且稍纵即逝,所以没有把全部代码贴上来的必要。所以用语言描述下cb下编译出现的问题吧,不知道大家有没有遇到过这种情况,也不排除我CB没有装好的原因。
在检验时,使用biaoji1的时候cb输出错误报告:未定义变量biaoji1的错误,此时是win7下,然后我添加biaoji3变量(所以第一行变为:int num_stu,biaoji1,biaoji2,biaoji3;)当然,在建立内部数组内存时有将biaoji1换成biaoji3,不过cb依然输出错误报告(未定义变量biaoji3)。然后在linux下运行,如果使用biaoji1,同样出现错误。但是在另起一行重新声明一个变量w2(int w2;)并代替biaoji1后,程序无错误。此后,再将biaoji1替代掉w2编译后(就是将我第一次被报错的代码复原),不会出现未定义错误,程序正常运行。
本人比较纠结,不知道大家有没有跟我有相同经历的,这因为我CB没有装好么?