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

admin2021-07-09  20

问题 有以下程序:
#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://kaotiyun.com/show/Nokp777K
0

最新回复(0)