fp=fopen_s(&fp, "D:\\array.out", "w")这步总报错,说类型不相同。请教各位这怎么改呢?

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS

void sort(int *x, int n)
{
 int i, j,temp;
 for (i = n-1; i>0; i--)
 {
  for (j = 0; j <i; j++)
  {
   if (x[j] < x[j + 1])
   {
    temp = x[j];
    x[j] = x[j + 1];
    x[j + 1] = temp;
   }
  }
 }
}
void main()
{
 FILE*fp;
 int *p, i, a[10];
 fp = fopen_s(&fp, "D:\\array.out", "w");
 p = a;
 printf("Input 10 numbers:");
 for (i = 0; i<10; i++)
  scanf("%d", p++);
 p = a;
 sort(p, 10);
 for (; p<a + 10; p++)
 {
  printf("%d\n", *p);
  fprintf(fp, "%d", *p);
 }
 fclose(fp);

}


慕用4518114
浏览 792回答 1
1回答

克洛

fopen_s()的返回类型是一个整型值,正确返回0,不正确返回非0,你用FILE*类型接收肯定类型不相同
打开App,查看更多内容
随时随地看视频慕课网APP