单选题 有以下程序:
#include < stdio.h>
void fun( char *a, char *b )
{ while( *a= ="*" ) a+ +;
while( *b= *a )1 b+ +;a+ +; }
}
main( )
{char *s="* * * * * a*b * * * *",t[80];
fun(s,t); puts(t);
}
程序的运行结果是______。
【正确答案】 D
【答案解析】[解析] 在函数fun(char *a,char * b)中,while(*a=="*")a++的功能是:如果* a的内容为“*”,则a指针向后移动,直到遇到非“*”字符为止,退出循环进入下一个while循环;在while(*b=*a){b++;a++;}中,把字符数组a中的字符逐个赋给字符数组b。所以在主函数中,执行fun(s,t)语句后,字符数组t中的内容为“a*b * * * *”。因此D选项正确。