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

cの++iとi++の違いは何ですか?


Cでは、++および--演算子はインクリメントおよびデクリメント演算子と呼ばれます。これらは、1つのオペランドのみを必要とする単項演算子です。したがって、++および--演算子は、オペランドの前または後に同じ効果で表示できます。

つまり、i++と++iの両方が同等になります。

i=5;
i++;
printf("%d",i);

および

i=5
++i;
printf("%d",i);

どちらもi=6になります。

ただし、インクリメント式を代入演算子と一緒に使用すると、演算子の優先順位が明らかになります。

i=5;
j=i++;

この場合、=の優先順位は後置++よりも高くなります。したがって、iの値はiをインクリメントする前にiに割り当てられます。ここで、jは5になり、iは6になります。

i=5;
j=++i;

この場合、プレフィックス++の優先順位は=演算子よりも大きくなります。したがって、iが最初にインクリメントされ、インクリメントされた値がjに割り当てられます。ここで、iとjは両方とも6になります。

#include <stdio.h>
int main() {
   int i=5,j;
   j=i++;
   printf ("\nafter postfix increment i=%d j=%d", i,j);
   i=5;
   j=++i;
   printf ("\n after prefix increment i=%d j=%d",i,j);
   return 0;
}

出力は

です
after postfix increment i=6 j=5
 after prefix increment i=6 j=6

  1. DirectX11とDirectX12の違いは何ですか?

    DirectXは、マルチメディアコンテンツをレンダリングし、グラフィカルハードウェアと通信するためにソフトウェアによって使用されるAPIまたはアプリケーションプログラミングインターフェイスのコレクションです。 DirectXの主要コンポーネントAPIであるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を処理します。すべてのハードウェアが異なるため、関数と呼び出しの標準化されたライブラリを使用してグラフィックカードと通信すると、ゲーム開発がスピードアップします。これはハードウェアアブストラクションと呼ばれ、APIの主な仕事です。 車について考えてみましょう。1台の車を運転

  2. C#のインターフェイスとクラスの違いは何ですか?

    インターフェイスは、フィールドまたはメソッドの実装がないクラスです。定義したメソッドを実装することはできません。 クラスは通常、インターフェースで定義されたメソッドを実装します。 インターフェース インターフェイスは、インターフェイスのメンバーであるプロパティ、メソッド、およびイベントを定義します。インターフェイスには、メンバーの宣言のみが含まれます。メンバーを定義するのは、派生クラスの責任です。 public interface interface_name {    // interface_members } クラス クラスはデータ型の青写真です。これは実際には