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

admin2018-02-02  27

问题 有以下程序:
#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、a*b****
B、a*b
C、*****a*b
D、ab

答案A

解析 注意两个while,第一个是判断相等“==”,第二个是赋值“=”,第一个循环终止的条件是指针指向的字符不为“*”,就会在遇到字符“a”时停止,第二个循环把a指针所指的内容依次赋给了b指针指向的内容,直到字符串结束时终止。所以结果就是字符串的后半段,选项A正确。
转载请注明原文地址:https://jikaoti.com/ti/hIa0FFFM
0

最新回复(0)