c++ 为什么第二个string无法读取?

P1055 [NOIP2008 普及组] ISBN 号码

完整代码 ``` cpp #include <bits/stdc++.h> using namespace std; int main(){ string a,b; int test_1=1,sum=0; cin >>a; for(int i=1;i<=a.size();i++){ if(a[i]!='-'){ b[test_1]=a[i]; test_1++; } } for(int i=1;i<b.size();i++){ sum+=b[i]*i; } if(sum%11==a[a.size()]){ cout <<"Right"; } else if(sum%11==10&&a[a.size()]=='X'){ cout <<"Right"; } else{ cout <<a<<sum%11; } return 0; } ```
by David_Ty @ 2023-07-17 13:21:47


字符串下标从 0 开始
by InversionShadow @ 2023-07-17 13:26:08


可随机访问的容器(`vector`, `string`等)的下标从 `0` 开始。顺便,如果需要访问最后一个元素,可以直接使用 `s.back()` ,其中 `s` 是一个 `vector`, `string` 等。
by Kedit2007 @ 2023-07-17 13:40:33


|