C ++で2つの文字列リテラルを連結するとどうなりますか?
このセクションでは、文字列と文字列リテラルの別のプロパティを確認します。 C ++で2つの文字列を連結する場合は、いくつかのことを覚えておく必要があります。
-
x + yが文字列連結の式である場合、xとyは両方とも文字列です。次に、この式の結果は、文字列xの文字の後に文字列yの文字が続くコピーになります。
-
xまたはyのいずれかを文字列リテラルまたは文字にすることができますが、両方にすることはできません。両方が文字列リテラルの場合、連結されません。
サンプルコード
#include<iostream> using namespace std; main(){ cout << "Hello " + "World"; }
出力
The above code will not be compiled because both of the operands are literals.
ここでは、演算子「+」の左結合性がエラーを返しています。それらの1つが文字列の場合、正しく機能します。
サンプルコード
#include<iostream> using namespace std; main(){ string my_str = "Hello "; cout << my_str + "World"; }
出力
Hello World
-
C++の最小文字列
同じ長さの2つの文字列sとtがあり、両方とも小文字であるとします。最初にsを任意の順序に再配置してから、sをtに変換するために必要な変更の最小数を数えることを検討してください。 したがって、入力がs =eccynue、t =scienceの場合、出力は「eccynue」を「yccence」に再配置したかのように2になり、yをsに置き換えます。 2番目のcはiで、「科学」になります。 これを解決するには、次の手順に従います- ret:=0 sの頻度を保持する2つの配列cnt1とtの頻度を保持するcnt2を定義します 初期化i:=0の場合、i <26の場合、更新(iを1増やしま
-
C++で2つのバイナリ文字列を追加するプログラム
2進数の文字列が2つある場合、それら2つの2進数文字列を加算して得られた結果を見つけ、その結果を2進数文字列として返す必要があります。 2進数は、0または1のいずれかで表される数値です。2つの2進数を加算する際には、2進数の加算規則があります。 0+0 → 0 0+1 → 1 1+0 → 1 1+1 → 0, carry 1 入力 str1 = {“11”}, str2 = {“1”} 出力 “100” 入力 str1 = {“110”},