不管是调试程序还是直接看输出i都为2,下面是运行时输出的:
用vs2010以前遇到更奇葩的事,这次用vs2013也是遇到奇葩,taskNumber值为2一定,下面两个循环体,每个循环体各执行一次,程序输出i = 2真是不应该;这个代码块在单个线程里面。谁能告诉我为什么呢?
这次真是我粗心了,i在上面已经定义过,printf("i = %d, %d\n", i, arrangementAllTaskArray[maxCostTimeSequenceIndex][i]); 用的i是上面的,直接把int i 改为 i;如果上面没定义,printf("i = %d, %d\n", i, arrangementAllTaskArray[maxCostTimeSequenceIndex][i]),编译会报错,反而容易找到这个小问题。