某公司的笔试题如下
已知如下代码, 求输出结果.
#include <stdio.h>
#include <string.h>
struct Test
{
char arr_a[4];
char arr_b[32];
};
int main()
{
Test a1;
strcpy(a1.arr_b, "hello world");
strcpy(a1.arr_a, "hello");
printf("%s\n", a1.arr_b);
return 0;
}
代码strcpy(a1.arr_a, "hello") 将*(a1.arr_a + 4)赋值为'o', 将*(a1.arr_a + 5)赋值为'\0', 而a1.arr_a + 4即为a1.arr_b, a1.arr_a + 5即为a1.arr_b + 1, 故输出结果为: o