今天想使用memset函数对整形数组进行初始化的,代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int s[10];
memset(s, 1 ,sizeof(s));
for(int i=0;i<10;i++)
printf("%d/t",s[i]);
return 0;
}
可是却达不到效果,后来请教了一个师兄,才知道memset初始化是以一个字节为单位的,也即是说对字符数组才能初始化为任意值,例如:
#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
memset(s, '1' ,sizeof(s));
for(int i=0;i<10;i++)
printf("%c/t",s[i]);
return 0;
}
或者
#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
memset(s, 1 ,sizeof(s));
for(int i=0;i<10;i++)
printf("%d/t",s[i]);
return 0;
}