for里面*s1 = *s2; 这里相当于: *s1 = *s2;然后判断*s1 != 0;当*s2到达字符串的结尾时,其值为NULL,相当于0了。所以结束。
你可以试一下下面代码,看什么时候结束输出
int i = 10,j;
for(; j=i;i--)
{
cout<
cout<<"\n";
是到string2的结尾就结束了,*s1 = *s2,这个循环退出语句的结果就是*s2,也就是s2的末尾,对应的参数是string2
隐式表达;
循环条件是*s2!='\0';
c++输入字符会在字符串末尾自动添加NULL,继而会扫描到NULL会自动结束。