#わからないこと
c++における文字列の結合方法
#質問内容
AtCoder Beginner Contest114のB問題「754」において、下記のコードを記述しAC(正解)が得られました。(問題リンク)
c++
1#include <bits/stdc++.h> 2using namespace std; 3#define rep(i, n) for (int i = 0; i < (int)(n); i++) 4 5int main(){ 6 string x; 7 cin >> x; 8 9 int ans; 10 rep(i,x.size()-2){ 11 string str; 12 str += x[i]; 13 str += x[i+1]; 14 str += x[i+2]; 15 int num = stoi(str); 16 num = abs(753-num); 17 if(i==0){ 18 ans = num; 19 }else{ 20 if(ans>num) ans = num; 21 } 22 } 23 cout << ans << endl; 24}
文字列結合部分に冗長さを感じ、
c++
1 string str; 2 str += x[i]; 3 str += x[i+1]; 4 str += x[i+2];
下記のように書き換えたところエラーが出ました。
c++
1 string str = x[i] + x[i+1] + x[i+2];
内容としては変わっていないように思えるのですが、何が間違っているのでしょうか?
Google等で検索すると+演算子で結合可能との記述がありました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/09 05:35
2020/06/09 05:49
2020/06/09 06:09