fill()的原理是把那一块单元赋成指定的值,也就是说任何值都可以,
而在memset()中,则是将s所指向的某一块内存中的每个字节的内容
全部设置为ch指定的ASCII值。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int a[10];
memset(a,2,sizeof(a));
for(int i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
fill(a,a+10,2);
for(int i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
结果如下
33686018 33686018 33686018 33686018 33686018 33686018 33686018 33686018 33686018 33686018
2 2 2 2 2 2 2 2 2 2