求问memset函数清空数组时用和不用sizeof 有什么区别
为什么有的用对,有的不用直接打数字对
2015-03-21 11:33
程序代码:
#include <stdio.h>
#include <string.h>
int main(void)
{
int a[5], i = 0;
int *p = a;
while (i < 5) {
*p = ++i;
printf("%d ", *p++);
}
puts("");
memset(a, 0, sizeof(a));
for (p = a; p <= &a[4]; p++)
printf("%d ", *p);
puts("");
for (p = a, i = 0; p <= &a[4]; p++)
*p = ++i;
for (p = a; p <= &a[4]; p++)
printf("%d ", *p);
puts("");
memset(a, 0, sizeof(a[0]) * 3);
for (p = a; p <= &a[4]; p++)
printf("%d ", *p);
puts("");
for (p = a, i = 0; p <= &a[4]; p++)
*p = ++i;
memset(a, 0, 3);
for (p = a; p <= &a[4]; p++)
printf("%d ", *p);
puts("");
return 0;
}

2015-03-21 12:19
2015-03-21 20:09