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

🔥 610 热度
A do{*t++=*s++;}while(*s );
B for(i=0;t[i]=s[i];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'复制过去。