使用int[n]={0};报错,
在vs2019中均报错,
因为数组下标必须是常量,
必须用malloc解决。
但是下面代码也能正常运行,所以有些边界问题和编译环境有关系。
#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
while(T--){
const int n;
int k;
scanf("%d %d",&n,&k);
int sz[2*n];
int szright[n];
int szleft[n];
for(int i=0;i<2*n;i++){
scanf("%d",&sz[i]);
}
while(k--){
for(int i=0;i<n;i++){
szright[i]=sz[i];
szleft[i]=sz[i+n];
}-----一副牌分成左右两半
int tmp=2*n-1;
for(int i=0;i<n;i++){
sz[tmp--]=szleft[n-1-i];
sz[tmp--]=szright[n-1-i];
}----洗牌归一
}
int i=0;
while(i<2*n){
printf("%d ",sz[i++]);--其实每行最后后面多了一个空格,但是系统诶呦发现
}
printf("\n");
}
return 0;