これは私が物事についての確認が必要なために書いた単純なコードです。
#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
に実行する方が安全ですか?memset