问题 单项选择题

有下列程序:
#include<stdio.h>
void fun(char *a,char *b)

while(*a==’*’)a++;
while(*b=*a)b++;a++;

void 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。

问答题 简答题
单项选择题