A_pier @ 2021-09-29 15:49:53
#include<iostream>
#include<math.h>
#include<cstring>
using namespace std;
int main()
{
char a[40010], str[201], b;
int i = 0;
cin >> a;
int n = strlen(a);
for (int i = 1; i < n; i++) {
cin >> str;
strcat_s(a, str);
}
int sum = 0;
char flag = '0';
cout << n << " ";
for (int i = 0; i <= strlen(a); i++)//为了输出最后一个sum,故设置i<=strlen(a),因为字符数组最后一个字符为空字符,肯定不等,因此输出最后一个sum
{
if (a[i]==flag)
sum++;
else {
flag = a[i];
cout << sum << " ";
sum = 1;
}
}
return 0;
}
by _XCY_ @ 2021-09-29 18:45:36
又一个MSVC
strcat_s(a, str);
MSVC 函数
换一下?
strcat(a, str);
by _XCY_ @ 2021-09-29 18:45:59
@A_pier
by A_pier @ 2021-09-29 19:59:22
@XCY ,,,,,,菜鸡看不懂大神说的什么
by A_pier @ 2021-09-29 20:00:53
@XCY 你是要我用strcat或者strcpy吗,但是我的vs2017就运行不了了,说这些是弃用的了 只能用strcat_s,strcpy_s
by _XCY_ @ 2021-09-29 20:09:00
...洛谷是g++编译器
_s函数都是MSVC编译器专供,微软觉得 str系列函数都不安全,全部重写了一遍叫strxxx_s
直接去掉 _s 不本地编译交吧
by _XCY_ @ 2021-09-29 20:14:51
@A_pier
by A_pier @ 2021-09-29 20:59:54
@XCY 好的,谢谢了