atcoderで問題を解いていたのですが、なぜif分の条件がtrueにならないのかが分かりません。
ご教授願えませんか、、
C言語です。
*問題文
https://atcoder.jp/contests/abc294/tasks/abc294_a
#include<stdio.h>
int main(void){
int N,num;
scanf("%d", &N);
for (int i = 0; i < N; i++) {
if ((scanf("%d", &num) == 0) && (num % 2 == 0)){ ←←←←この条件文
printf("%d ", num);
}
}
return 0;
}
No.3ベストアンサー
- 回答日時:
scanf は入力された項目の数を返すようです。
つまり、numを入力されたなら、1を返します。
if ((scanf("%d", &num) == 0) && (num % 2 == 0))
1 scanf("%d", &num)を実行。
2 1を返す。
3 1==0 && (num % 2 == 0)
4 False && (num % 2 == 0)
5 if文を出る。
No.4
- 回答日時:
単に条件が間違ってるだけ、じゃないの?
「入力があり、なおかつ2で割り切れる」って書きたいのなら、単に
if ((scanf("%d", &num) != 0) && (num % 2 == 0))
だと思うよ。
あと、例に挙げたコードだと問題のスペックに到達してないと思う。
実装例はこんなカンジかな。
実装例:
https://www.ideone.com/nPD9nc
No.2
- 回答日時:
問題文なんぞ知ったこっちゃない、見たくもない、ですが、
判らなければ、判るような位置にprintfを入れるのが…
なお、「ご教授」ではなく「ご教示」が正しい。
サイトに依ってはやんわりと解説している輩が居るようではあるが、「ご教授」なんぞが使える場面は、まず無い!
No.1
- 回答日時:
う~ん, どういう動作を予想したんだろうか....
今だと「num に読み込むことができず, かつ num が偶数のとき」に成り立つ (とはいえ scanf で読み込めないから num の値は不定になるような気もするけど) んだけど, それを意図することは考えられないからなぁ.
なお「if分」ではなく「if文」だと思う.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
足して100になるような乱数のア...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
「{ } で囲むだけ」は正しい?
-
C言語 配列と関数の練習問題
-
【C++】関数ポインタの使い方
-
acceptをalarmでタイムアウトさ...
-
C言語で三目並べをするプログラ...
-
【C言語】円の面積を求めるプロ...
-
任意の文字列のアルファベット...
-
C#の質問
-
system関数がうまくいかない
-
c言語
-
if と配列の組み合わせ
-
C++でvectorにテキストファイル...
-
日数チェックプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報