选择题   有以下程序:
    #include  <stdio.h>
    main()
    {  char w[20],a[5][10]={'abcdef','ghijkl','mnopq','rstuv','wxyz'};
    int i,j;
    for(i=0;i<5;i++)
    {  j=0;
    while(a[i][j]!='\0')  j++;
    w[i]=a[i][j/2+1];
    }
    w[5]='\0';
    puts(w);
    }
    程序运行后的输出结果是______。
 
【正确答案】 A
【答案解析】在for循环中,执行完while语句,j值为字符串数组a的每行字符串的长度,因此w[i]=a[i][j/2+1]是将数组a的元素a[i][j/2+1]的值赋给一维数组w[i],比如i=0;j=6;a[i][j/2+1]=a[0][4]='e',将此值赋给w[0]。循环依次给数组w赋值,最后输出w,答案为选项A。