这是我编写的一个简单代码,因为我需要确认某件事。
#include <stdio.h>
#include <string.h>
void pr(int a);
int main(void)
{
int a;
printf("starting...\n");
h1:
scanf("%d", &a);
if (a == 20)
return 0;
pr(a);
goto h1;
printf("ending...\n");
return 0;
}
void pr(int a)
{
char buf[256];
if (a == 1)
strcpy(buf, "number 1 has been choosed");
else
strcpy(buf, "other number");
printf("BUF: %s\n", buf);
}
我的问题是:
每次pr
调用函数时,数组会自动清零还是在函数结束前buf
做a更安全?memset