问题 单项选择题

有下列程序:
#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

解析: 主函数main()定义了指向字符串的指针和一个字符数组,接着调用fun(s,t)函数,进行实参向形参传递,函数fun()第一个 while语句判断*a中的值为“*”时继续扫描,当遇到不是“*”时结束,接着第二个while循环语句,将*a中从“a”开始的后续所有字符都赋予*b,也就是t[80]中的内容为“a*b****”,所以此题的运行结果为选项C)。

填空题
单项选择题