例子:
声明结构:
struct table
{
char r1[6];
char r2[2];
char r3[6];
};
/* main */
int main()
{
struct table t[10];
int i;
f010_Initial (t);
for (i=0; i<10 ; i++)
{
printf ("%5s %5s %5s\n", t[i].r1,t[i].r2, t[i].r3);
}
getchar();
return 0;
}
/* initial struct */
void f010_Initial (struct table t[10])
{
int i;
for (i=0; i<10; i++)
{
strncpy (t[i].r1, "aaaaaa", 6);
t[i].r1[6] = '\0';
strncpy (t[i].r2, "aa", 2);
t[i].r1[2] = '\0';
strncpy (t[i].r3, "aaaaaa", 6);
t[i].r3[6] = '\0';
}
}
为什么执行是这样的:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊