c语言,如下函数中,break语句跳出哪一个循环?

void fun (char *s, char *t1, char *t2 , char *w)
{
char *p , *r, *a;
strcpy( w, s );
while ( *w )
{ p = w; r = t1;
while ( *r )
if ( *r == *p )
{ r++; p++; }
else break; /*就是这个break,是跳出while(*r)还是while(*w)?*/
if ( *r == '\0' ) a = w;
w++;
}
r = t2;
while ( *r ){ *a = *r; a++; r++; }
}

跳出离他最近的那个while,即while(*r),因为他是if(*r==*p)的else,包含在while(*r)中。
温馨提示:答案为网友推荐,仅供参考