有以下程序 #include<stdio.h> main() void fun(char*a,char*b) {char*s="****a*b****",t[80]; {while(*a==’*’)a++; fun(s,t);puts(t); whi

admin2016-12-18  22

问题 有以下程序
#include<stdio.h>  main()
void fun(char*a,char*b)  {char*s="****a*b****",t[80];
{while(*a==’*’)a++;  fun(s,t);puts(t);
while(*b=*a){b++;a++;}}  }
程序的运行结果是

选项 A、a*b
B、*****a*b
C、a*b****
D、ab

答案C

解析 主函数mare()定义了指向字符串的指针和一个字符数组,接着调用fun(s,t)函数,进行实参向形参传递。函数fun()第一个while语句判断*a中的值为“+”时继续扫描,当遇到不是“*”时结束,接着第二个while循环语句,将*a中从“a”开始的后续所有字符都赋予*b,也就是t[80]中的内容为“a*b****”。
转载请注明原文地址:https://kaotiyun.com/show/vyDp777K
0

最新回复(0)