我使用动态内存分配编写了这个简单的冒泡排序程序。我正在使用VC ++编译器。
// bubble_sort.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
void bubble_sort(int a[],int n);
int main()
{
int *p,i;
int n;
printf("Enter number of array elements\n");
scanf("%d",&n);
p=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
scanf("%d",(p+i));
bubble_sort(p,5);
printf("Sorted elements\n");
for(i=0;i<n;i++)
printf("%d ",p[i]);
free(p);
system("pause");
return 0;
}
void bubble_sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
上述程序有什么问题?编译器显示以下警告。这是什么意思?
Warning 1 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Warning 2 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
请帮帮我。
答案 0 :(得分:3)
这不是您的程序的问题。 microsoft弃用了scanf函数,而不是引入scanf_s函数,这意味着它们引入了安全性。要编译代码,有两个选项。