社区讨论

关于RE的问题

B3663[语言月赛202209] Luogu Academic参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m5hija2y
此快照首次捕获于
2025/01/04 09:36
去年
此快照最后确认于
2025/11/04 12:00
4 个月前
查看原帖
有同学不理解下面这种写法为什么会产生RE, 产生"我不是限制了i小于s.size()-4吗"的疑问
CPP
for(int i=0;i<s.size()-4;i++){

}

可以做一个实验

CPP
string s="abc";
cout<<s.size()-4; 
这段代码并没有输出-1, 因为s.size()返回的是unsigned long long类型的无符号整数, 所以并没有-1这个值

换个好的写法

CPP
for(int i=0;i+4<s.size();i++){
	if(......&&s[i+4]=='u'){
		sum++;//循环内最大的下标是i+4  
	}         //判断 i+4<s.size() 就可以 
}

回复

3 条回复,欢迎继续交流。

正在加载回复...