ページ 11

多分、演算子の優先度の問題です…

Posted: 2021年5月26日(水) 10:50
by モノクマ
お久しぶりです。考えてもわからない問題がありましたので
また質問をしに来ました。多分、演算子の優先度関連の問題だと思うのですがさっぱり分かりません。どなたかお願いしますm(_ _)m
次が問題文です。

ソースコードの空欄 (???) を埋め, 以下の実行結果を再現しなさい.
条件
- 空欄 (???) において セミコロン (;) および カンマ (,) を使用してはならない.
- 空欄 (???) 以外のコードを変更してはならない.

コード:

#include <stdio.h>

int main(void)
{
    int a, b, c;
    a = ???; 
    printf("a = %d, b = %d, c = %d\n", a, b, c);
    return 0;
}

Re: 多分、演算子の優先度の問題です…

Posted: 2021年5月26日(水) 13:01
by box
ソースコードの空欄 (???) を埋め, 以下の実行結果を再現しなさい.
「以下の実行結果」はどこに記載があるのでしょうか。

以下独白

コード:

    int a, b, c;
    a = ???; 
    printf("a = %d, b = %d, c = %d\n", a, b, c);
???に何が入るのかよくわからんが、何が入っているかわからないbとcの値を出力することの意味がわからん。

Re: 多分、演算子の優先度の問題です…

Posted: 2021年5月26日(水) 13:10
by モノクマ
すいません忘れていました^^;

実行結果
a=1,b=2,c=3


です。どなたかお願いします。

Re: 多分、演算子の優先度の問題です…

Posted: 2021年5月26日(水) 14:18
by 朱鷺
出題意図にあっているのかわかりませんが、

コード:

 a = ( ( b = 2 ) && ( c = 3 ) );
とすれば「a = 1, b = 2, c = 3」の出力にはなりそうです。

Re: 多分、演算子の優先度の問題です…

Posted: 2021年5月29日(土) 11:19
by 参照魚

コード:

a = ( b = ( c = 3 ) - 1 ) - 1;

Re: 多分、演算子の優先度の問題です…

Posted: 2021年5月29日(土) 12:02
by モノクマ
朱鷺さん、参照魚さんありがとうございました。
返信遅れてすいませんm(_ _)m
なぜかサイトに入れませんでした…
なにか重く感じるのは自分だけですかね^^;