C语言标准输入scanf与文件打开问题

	char address[30];
	printf("请输入储存文件名:\n");
	scanf("%s",address);
	printf("请输入学生数量:\n");
	scanf("%d",&n);
	FILE *fp;
	if((fp=fopen(address,"wb+"))==NULL){
		printf("文件打开失败!\n");
		return 0;
	}
char address[30];
	printf("请输入储存文件名:\n");
	scanf("%s",address);
	FILE *fp;
	if((fp=fopen(address,"wb+"))==NULL){
		printf("文件打开失败!\n");
		return 0;
	}
	printf("请输入学生数量:\n");
	scanf("%d",&n);

为什么上面那个代码总是打不开文件    把语句调换了就可以打开了。。

不知道你用的是哪个编译器,我用Dev c++两段都能运行,也可能是代码的其它部分。