5

次の 2 つのコード ブロックはまったく同じで、同じことを実現していますか?プログラムを実行すると同じことが表示されますが、厳密な説明をいただければ幸いです。

for(i=1;i<=10;i++)
{
printf("%d\n",i);
}

for(i=1;i<=10;printf("%d\n",i),i++);

ループはfor引数として有効な C ステートメントを期待していますね。しかし、x+=4,y=x*2;ここではコンマがシーケンス ポイントとして機能するため、次のようなステートメントが安全であることを StackOverflow で確認しましたが、上記のループprintf("%d\n",i),i++)で引数として渡されたステートメントについても同じ真実ですか?for

はいの場合は、そこから生じる小さな質問に答えてください。

  • commaコンマで区切られた多数のステートメントを含むステートメントでシーケンス ポイントとして機能しますか?

    以下のような関数呼び出し:

    printf("Enter number\n"),scanf("%d",&number),printf("You entered %d",number);

4

2 に答える 2