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

admin2020-07-28  26

问题 有以下程序
#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****”。
转载请注明原文地址:https://jikaoti.com/ti/L6D0FFFM
0

最新回复(0)