有以下程序: #include void fun(char *a,char *b) { while(*a==’*’)a++; while(*b=*a){b++;a++;} } main( ) { char

admin2021-07-09  58

问题 有以下程序:
    #include
    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、S和P都是指针变量
B、s数组中元素的个数和P所指字符串长度相等
C、可以用*P表示s[0]
D、数组s中的内容和指针变量P中的内容相同

答案D

解析 在函数fun(char*a,char*b)中,while(*a==’*’)a++的功能是:如果*a的内容为“*”,则a个while循环;在while(*b=*a);b++;a++;}中,把字符数组a中的字符逐个赋给字符数组b。所以在主函数中,执行fun(s,t)语句后,字符数组t中的内容为“a*b****”。因此D选项正确。
转载请注明原文地址:https://kaotiyun.com/show/5itp777K
0

最新回复(0)