若有以下程序#include<stdio.h>chara="you";charb[]="Welcome you to China!";
main(){inti,j=0;charp;for(i=0;b[i]!='\0';i++)
{if(*a==b[i])
{p=a;
for(j=i;*p!='\0';j++)
{if(*p!=b[j])break;p++;}
if(*p=='\0')break;}}
printf("%s",&b[i]);}则程序的输出结果是(D)
A、Chind! B、to Chind! C、me you to China! D、you to China!
这个程序怎么看啊?
供参考:
#include<stdio.h>
char *a="you";
char b[]="Welcome you to China!";
main()
{
int i,j=0;
char *p;
for(i=0;b[i]!='\0';i++)
{
if(*a==b[i])//*a = 'y',判断"you" 在字符串 b[]起始位置 i
{
p=a;
for(j=i;*p!='\0';j++)
{
if(*p!=b[j])
break;
p++;
}
if(*p=='\0')//如果找到"you" 在字符串b[]中的位置 则跳出for()循环
break;
}
}
printf("%s",&b[i]);//输出从 i 位置开始的字符串,直到字符串的结束
}