以下不能将s所指字符串正确复制到t所指存储空间的是( )。

admin2018-06-28  40

问题 以下不能将s所指字符串正确复制到t所指存储空间的是(    )。

选项 A、do{*t++=*s++;}while(*s);
B、for(i=0;t=s;i++);
C、while(*t=*s){t++;s++}
D、for(i=0,j=0;t[i++]=s[j++];);

答案A

解析 “do{*t++=*s++;}while(*s);”不能因为当*s=’\0’时,while(*s)跳出循环,这样字符串结束标志’\0’没有复制给*t,造成*t不完整。注意,*t++=*s++是先执行*t=*s,然后才进行*t=t+1,s=s+1。B、c、D选项都能将’\0’复制过去。
转载请注明原文地址:https://kaotiyun.com/show/2Cxp777K
0

最新回复(0)