以下程序的输出结果是__【14】__ 。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{ char *p,*q,*r;
p=q=r=(char*)malloc(sizeof(char)*20);
strcpy(p,"attaboy,welcome!");
printf("%c%c%c\n",p[1],q[3],r[4]);
free(p);
}
A. tab
B. att
C. tec
D. tc!
答案:A
解析:p、q、r共同只想了一个大小为20的字符数组空间。由于3者都指向同一个空间,因此最后输出的内容等价于p[1]、p[3]、p[4],即tab。