私はIF条件でそのようなものを作成しようとしています:
if(mychar[i] = "+")
{
/* do something */
}
If char[number i-1] is plus を確認したいのですが、条件に plus を正しく定義できません:/
誰かが私を助けてくれれば幸いです。
私はIF条件でそのようなものを作成しようとしています:
if(mychar[i] = "+")
{
/* do something */
}
If char[number i-1] is plus を確認したいのですが、条件に plus を正しく定義できません:/
誰かが私を助けてくれれば幸いです。
2 つの修正:
if(mychar[i] == '+')
^ use '' for char, and "" for strings
^ = is an assignment operator, == is a comparison operator
推奨されませんが、0 は FALSE と見なされ、その他の値は TRUE と見なされるため、代入演算子をブール式としてのみ使用することは有効です。
等号を 1 つ使用するというこのような事故を防ぐには、この方法を実行してください。
if ('+' == mychar[i])
定数 (char、int、double など) を配置するこの習慣に慣れると、コンパイルによって間違いが吐き出されます。
元のifステートメントを考えるとf(mychar[i]="+") { do sth }
:
まず、single を使用する=
と代入が発生します。この場合、 に「+」を割り当てmychar[i]
ます。
C では if ステートメントで値を代入できますが、実際にそれを行った人を私は知りませんでした。値を比較しようとしているので、==
代わりにを使用します=
。
"+"
次に、 char の代わりに定数文字列を使用している'+'
ため、コンパイラは、文字列へのポインターを文字に割り当てることについて不平を言っています。
最後に、値を定数と比較するときに構造を使用します。の前に定数を置き==
ます。
if('+' == mychar[1])
すばやく入力して入力するとif('+' = mychar[1])
、値を定数に代入しようとすると、コンパイル時エラーが発生します。