若有以下程序 #include main() { char w[20]="dogs", a[5][10]={"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz ."}; int i, j, k; for (i=0;

admin2015-07-28  23

问题 若有以下程序
#include
main()
{ char w[20]="dogs",
a[5][10]={"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz ."};
int i, j, k;
for (i=0; w; i++)
{ for (j=0; j<5; j++)
{ for (k=0; a[j][k]; k++)
if (w==a[j][k]) break;
if (w==a[j][k]) break;
}
printf("%d,%d,", j,k);
}
}
则程序的输出结果是( )。

选项 A、0,3,2,2,1,0,3,1,
B、1,4,3,3,2,1,4,2,
C、5,6,5,6,5,6,5,6,
D、6,7,6,7,6,7,6,7,

答案A

解析 最外层for循环遍历数组w,内两层循环遍历二维数组a,并用两条相同的if语句跳出内两层循环,并输出此时的j、k值。这段代码的功能是在数组a中查找与数组w每个字符相同的第一个字符下标并输出,所以输出结果为0,3,2,2,1,0,3,1,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/NZJp777K
0

最新回复(0)