问个问题,为啥把static去掉就会爆内存(已AC)
查看原帖
问个问题,为啥把static去掉就会爆内存(已AC)
238203
跟你沟通楼主2023/2/21 19:28

第五行加上static就没问题了,但是不知道为什么不用static就不,s1和s2不都是局部变量吗

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void *a, const void*b) {
	static char s1[15],s2[15];
	strcpy(s1,(char*)a);
	strcat(s1,(char*)b);
	strcpy(s2,(char*)b);
	strcat(s2,(char*)a);
	return strcmp(s2,s1);
}
int main() {
	char m[30][15], n;
	scanf("%d", &n);
	for (int i = 0; i < n; ++i)
		scanf("%s", m[i]);
	qsort(m,n,sizeof(m[0]),cmp);
	for (int i = 0; i < n; ++i)
		printf("%s", m[i]);
	return 0;
}
2023/2/21 19:28
加载中...