若有以下程序 #include char *a="you", b[ ]="welcome#you#to#China!"; main() { int i,j=0; char *p; for ( i=0; b[i]!=’\0’; i++ ) { if (*a

admin2020-03-15  17

问题 若有以下程序
#include
char *a="you", b[ ]="welcome#you#to#China!";
main()
{ int i,j=0; char *p;
for ( i=0; b!=’\0’; i++ )
{ if (*a == b)
{ p=&b;
for (j=0; a[j]!=’\0’; j++)
{ if (a[j] != *p) break;
p++;
}
if (a[j]==’\0’) break;
}
}
printf("%s\n", p);
}
则程序的输出结果是( )。

选项 A、#to#China!
B、#you#to#China!
C、me#you#to#China!
D、#China!

答案A

解析 该段代码的作用是查找字符串b中包含和a指向的字符串相同的字符串的位置,并用指针p记录匹配字符串结束后下一个字符的地址,即是第二个’#’字符的下标,所以输出字符串的结果为选项A)。
转载请注明原文地址:https://jikaoti.com/ti/JiG0FFFM
0

最新回复(0)