文章

5

粉丝

84

获赞

2

访问

4.5k

头像
为什么oj上可以ac,vs2022上显示string溢出
P1027 贵州大学2019机试
发布于2024年3月7日 09:48
阅读数 615

#include<stdio.h>
#include<string>
#include <stdlib.h>
#include<iostream>
#include<string.h>
using namespace std;

int main()
{
	string s;
	string l;
	cin >> s;
	int len = s.length();
	int t = 0;
	for (int i = 0; i < len; i++)
	{
		if ((s[i] == 'G' || s[i] == 'g') && (s[i + 1] == 'Z' || s[i + 1] == 'z') && (s[i + 2] == 'U' || s[i + 2] == 'u'))
			i += 2;
		else
			l[t++] = s[i];
	}
	for (int i = 0; i < t; i++)
	{
		cout << l[i];
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

1 条评论
snake VIP
2024年3月7日 11:05

vs检查更严格,理论上这里确实有点问题,但i=len-1的时候,i+2越界了

赞(1)