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

admin2009-06-20  31

问题 有以下程序        #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);      printff"%s,%s\n", ss,aa);       程序的运行结果是

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

答案D

解析 函数fun()中,前一个while循环的作用是:如果形参指针t所指内容不为0,则让t增1,直到它指向0。后一个 while循环的作用是:将s所指内容赋给t所指地址,然后两者同时增1,直到赋给t的内容为0。由此可见,函数fun()的作用就是将形参s所指字符串连接到形参t所指字符串末尾,相当于库函数中的strcat()。主函数中使用fun()将数组aa中的字符串连接到了数组ss中原有字符串之后,所以执行完后,ss中的字符串为"accbbxxyy"。故最终输出的结果是:accbbxxyy,bbxxyy,应该选择D。
转载请注明原文地址:https://kaotiyun.com/show/36Wp777K
0

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