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

admin2019-12-17  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

答案A

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

随机试题
最新回复(0)