太久没写此程序,今天写程序时不注意常量字符串的值不能交换,让我DEBUG了不少时间。
问题程序:
char* arrPerm="12345";
swap(arrPerm[0],arrPerm[1]);
看起来好像没什么问题,实际上swap函数中时就会出现异常,刚开始我还以为写错了swap函数,狂汗。后来猛然想起,char* arrPerm="12345";的形式申请到的是常量的,不能对调。
应该改为char arrPerm[10]="12345";这样就只是字符数组的初始化,就可以正常运行swap函数了。
太久没写程序了,打一个耳光清醒下。