有以下程序:  #include<stdio.h>  void fun(char *t,char *s)  {   while(*t!=0)t++;   while((*t++=*s++)!=0);  }  main()  {   char ss[1

admin2022-10-24  22

问题 有以下程序:
 #include<stdio.h>
 void fun(char *t,char *s)
 {
   while(*t!=0)t++;
   while((*t++=*s++)!=0);
 }
 main()
 {
   char ss[10]="acc",aa[10]="bbxxyy";
   fun(ss,aa);
   printf("%s,%s\n",ss,aa);
 }
 程序的运行结果是(          )。

选项 A、acc,bbxxyy
B、accbbxxyy,bbxxyy
C、accxxyy,bbxxyy
D、accxyy,bbxxyy

答案B

解析 在函数fun中,前一个while循环的作用是,如果形参指针t所指内容不为0,则让t增1,直到它指向0;后一个while循环的作用是,将s所指内容赋给t所指地址,然后两者同时增1,直到赋给t的内容为0。由此可见,函数fun的作用就是将形参s所指字符串连接到形参t所指字符串末尾,相当于库函数strcat。主函数中使用函数fun将数组aa中的字符串连接到数组ss中原有字符串之后,所以执行完后,ss中的字符串为“accbbxxyy”。程序最后输出的结果是accbbxxyy,bbxxyy。故本题答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/tnd0FFFM
0

相关试题推荐
最新回复(0)