看到个c++ for ( ; ; )中间的条件表达式为赋值,应该是会无限循环的为啥也结束了..(内详

[复制链接]
查看11 | 回复4 | 2013-1-31 17:48:18 | 显示全部楼层 |阅读模式
for里面*s1 = *s2; 这里相当于: *s1 = *s2;然后判断*s1 != 0;当*s2到达字符串的结尾时,其值为NULL,相当于0了。所以结束。 你可以试一下下面代码,看什么时候结束输出int i = 10,j;for(; j=i;i--){
cout<<j<<"\t";}cout<<"\n";...
回复

使用道具 举报

千问 | 2013-1-31 17:48:18 | 显示全部楼层
是到string2的结尾就结束了,*s1 = *s2,这个循环退出语句的结果就是*s2,也就是s2的末尾,对应的参数是string2...
回复

使用道具 举报

千问 | 2013-1-31 17:48:18 | 显示全部楼层
隐式表达;循环条件是*s2!='\0';...
回复

使用道具 举报

千问 | 2013-1-31 17:48:18 | 显示全部楼层
c++输入字符会在字符串末尾自动添加NULL,继而会扫描到NULL会自动结束。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行