私はちょうどいくつかの C を学んでいます。というか、難解な詳細のいくつかの感覚を得ています。そして、私は VTC の高度な C プログラミングを使用していましたが、そのシーケンス ポイントは次のとおりです。
- セミコロン
- コンマ
- 論理和/論理積
- 三項演算子
- 関数呼び出し (関数呼び出しの引数として使用される式は、呼び出しが行われるとファイナライズされます)
これらはすべて正しいですか?私が試した最後のものについて:
void foo (int bar) { printf("I received %d\n", bar); }
int main(void)
{
int i = 0;
foo(i++);
return 0;
}
そして、それは 1 を出力しませんでした。VTC の担当者が言ったことによると、私が正しく理解していれば、そうなるはずですよね?. また、関数呼び出しのこれらのかっこは、グループ化のかっこと同じですか? (つまり、それらの優先順位)。括弧の優先順位が ++ よりも高いためかもしれませんが、 foo((i++)); も試しました。そして同じ結果を得ました。foo(i = i + 1); のみを実行します。1をもたらしました。
前もって感謝します。私は南アメリカ出身だと考えてください。私が明確でなかったり、何も意味をなさない場合は、教えてください。
よろしくお願いします、セバスチャン。