(单选题)
下面程序的功能是输出数组的全排列,请填空( )。
Void perm(int list[], int k, int m)
{
If( )
{
copy(list,list+m,ostream_iterator(cout,“”));
coutreturn;
}
for(int i=k;i{
swap(&list[k],&list[i]);
( );
swap(&list[k],&list[i]);
}
}
A.k!=m和perm(list,k+1,m)
B.k==m和perm(list,k+1,m)
C.k!=m和perm(list,k,m)
D.k==m和perm(list,k,m)
参考答案:B
参考解析:
第一个()需要时判断为ture时才会进入执行。那么就可以判断在B和D中选择一个,第二个()执行需要对for()进行关注。里面执行的循环是从k到m(包含m)prem函数需要从k+1开始到m(不包括m)这样等式才是成立的。B项符合,当选。故本题正确答案选B。
知识点:计算机系统概述 计算机 计算机基本知识 通用 公基
