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