Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C /C++での接尾辞++と接頭辞++の優先順位


ここでは、CまたはC++でのpostfix++とprefix++の優先順位を確認します。接頭辞++または--の優先順位は、間接参照演算子「*」よりも優先され、接尾辞++または-は、接頭辞++および間接参照演算子「*」の両方よりも優先されます。

ptrがポインタの場合、* ptr ++は*(ptr ++)を示し、++ * prtは++(* ptr)

を示します。

#include<iostream>
using namespace std;
int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   ++*ptr;
   cout << *ptr;
   return 0;
}

出力

I

したがって、ここで最初にptrは「H」を指しています。 ++ * ptrを使用すると、Hが1増加し、値は「I」になります。

#include<iostream>
using namespace std;
int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   *ptr++;
   cout << *ptr;
   return 0;
}

出力

e

したがって、ここで最初にptrは「H」を指しています。 * ptr ++を使用するとポインタが増えるため、ptrは次の要素を指します。したがって、結果は「e」になります。


  1. C++でのプレフィックスからポストフィックスへの変換

    この問題では、接頭辞式が与えられます。私たちのタスクは、指定された式の接尾辞変換を出力することです。 プレフィックス 式は、オペランドの前に演算子がある式です。 例:+AB。 接尾辞 式は、式のオペランドの後に演算子がある式です。 例:AB / 接頭辞から接尾辞への変換には、中置への変換は含まれません。 問題を理解するために例を見てみましょう Input: /+XY+NM Output: XY+NM+/ Explanation: infix -> (X+Y)/(N+M) この問題を解決するために、最初に後置式全体を逆の順序でトラバースします。そして、処理にスタックデータ構

  2. C ++のプレフィックス演算子とポストフィックス演算子の違いは何ですか?

    プレフィックスバージョン(つまり、++ i)では、iの値がインクリメントされ、式の値はiの新しい値になります。したがって、基本的には、最初にインクリメントしてから、式に値を割り当てます。 postfixバージョン(つまり、i ++)では、iの値は増分されますが、式の{value|worth}はiの元の値です。したがって、基本的には、最初に式に値を割り当ててから、変数をインクリメントします。 理解を深めるためにいくつかのコードを見てみましょう- 例 #include<iostream> using namespace std; int main() {