[解決済み] なぜa+++++bは機能しないのか?
2023-03-13 12:39:58
質問
int main ()
{
int a = 5,b = 2;
printf("%d",a+++++b);
return 0;
}
このコードでは、以下のようなエラーが発生します。
error: increment operand として lvalue が必要です。
しかし、もし私がスペースを全体的に
a++ +
と
++b
であれば、問題なく動作します。
int main ()
{
int a = 5,b = 2;
printf("%d",a++ + ++b);
return 0;
}
最初の例のエラーは何を意味するのでしょうか?
どのように解決するのですか?
printf("%d",a+++++b);
は次のように解釈されます。
(a++)++ + b
最大ムンク則によれば
!
.
++
(postfix) は
lvalue
に評価されませんが、オペランドが
lvalue
.
! 6.4/4の発言 次の前処理トークンは、前処理トークンを構成しうる最も長い文字のシーケンスである。
関連
-
_CRT_SECURE_NO_WARNINGS エラーメッセージ、解決方法
-
#137: 式は変更可能なlvalueでなければならない問題 // 文字列配列の代入問題
-
C 言語のポインタ配列のポインタ型、ポインタに値を割り当てるために配列名を使用、コンパイル時の警告:互換性のないポインタ型からの初期化
-
[解決済み] stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] "static const" vs "#define" vs "enum"
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] C言語でオブジェクト指向のコードを書くとしたら、どのようにすればよいのでしょうか?[クローズド]
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み】C言語の関数ポインタはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
C 構造体定義エラー: '['トークンの前に一次式があることが予想される
-
関数 'malloc' の暗黙の宣言に対する解決策
-
コンパイルエラー:可変長オブジェクトが初期化されていない可能性があります。
-
[解決済み] munmap_chunk(): 無効なポインタ
-
[解決済み] C言語の**はどういう意味ですか?
-
[解決済み] "static const" vs "#define" vs "enum"
-
[解決済み] C言語標準に準拠した構造体の初期化方法
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み] C言語のi++と++iに性能差はあるのでしょうか?
-
[解決済み] なぜalloca()の使用はグッドプラクティスとみなされないのでしょうか?