这个头文件中的一个函数next_permutation() 程序如下
#include <algorithm>
int main()
{
char* s="ABCD";
for(int i=0;i<24;i++)
{
next_permutation(s,s+4);
cout<<(i%8>"\t":"\n")<<s;
}
return 0;
}
大家看看能不能运行,我在VC++6.0上链接成功过但运行后就提示程序出错不知是何原因
#include<algorithm> #include<iostream> using namespace std;
void main() { char text[] = "ABCD"; char * s = text; //char* s="ABCD"; // 关键的问题在这句,如果还不清楚,那指针这一节,看他10遍 for(int i=0;i<24;i++) { next_permutation(s,s+4); cout<<(i%8?"\t":"\n")<<s; // 原程序中有一个笔误而已。 } }
#include<algorithm> #include<iostream> using namespace std;
void main() { char text[] = "ABCD"; char * s = text; //char* s="ABCD"; // 这个错误才是致命的,如果还没看出来,那你要考虑认真看看什么是指针了。 for(int i=0;i<24;i++) { next_permutation(s,s+4); cout<<(i%8?"\t":"\n")<<s; // 原程序中只是有一个笔误而已。 } }