
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
C言語初心者です、、、お助けください
C言語・C++・C#
-
Cのオブジェクトファイルの逆アセンブル
C言語・C++・C#
-
-
4
プログラミング c言語
C言語・C++・C#
-
5
const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか
C言語・C++・C#
-
6
C言語について。
C言語・C++・C#
-
7
数字の単位 何故10m>0.003なのかわかりません 数字の単位で何故10mより0.003の方が小さ
C言語・C++・C#
-
8
visual studio 2019において、宣言していない変数があるのにエラーなくビルド出来ました
C言語・C++・C#
-
9
【現役のプロのプログラマーに質問です】プロの大工は相手と握手したら相手の大工の腕が分かる
C言語・C++・C#
-
10
Cの関数の引数のconst *charについて
C言語・C++・C#
-
11
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき
C言語・C++・C#
-
12
C言語について。
C言語・C++・C#
-
13
C言語 コマンドプロンプトについて。
C言語・C++・C#
-
14
プログラミング アルゴリズム
C言語・C++・C#
-
15
マクロ関数 #define の効果は何ですか? わかりやすく教えて下さい
C言語・C++・C#
-
16
Cのdoubleの浮動小数点表示について
C言語・C++・C#
-
17
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
C言語・C++・C#
-
18
c言語の問題の説明、各所ごとに
C言語・C++・C#
-
19
Cのコンパイルでコメントアウトをそのままオブジェクトに保持したい
C言語・C++・C#
-
20
C言語初心者 構造体 課題について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
数字列を3桁ごとにカンマで区切...
-
足して100になるような乱数のア...
-
Win32APIで作るコンボボックス...
-
C言語で分からないところがあり...
-
C言語による間引き拡大縮小
-
並列プログラミングのπ計算につ...
-
std::set<int> で、ある値が何...
-
関数の戻り値に関数のアドレス...
-
read関数をノンブロッキングで...
-
配列変数のポインターが勝手に...
-
Arduinoのプログラムにエラーが...
-
剰余演算を論理演算と加減算に...
-
#define _CRT_SECURE_NO_WARNIN...
-
実数の整数部,小数部の取得
-
(int *)の意味
-
C言語で、数値の桁数を求めるに...
-
変数の値がおかしくなる
-
質問項目をランダムで選択する...
-
MT4でShellExcecuteを使い外部...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
実数の整数部,小数部の取得
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
(マルチスレッド)_beginthrea...
-
if と配列の組み合わせ
-
system関数がうまくいかない
-
read関数をノンブロッキングで...
-
std::set<int> で、ある値が何...
-
式は定数値が必要です」という...
-
(int *)の意味
-
数字列を3桁ごとにカンマで区切...
-
「{ } で囲むだけ」は正しい?
-
int16_t の _t は何?
-
【至急】プログラムにエラーが...
-
systemの戻り値を取得する方法
おすすめ情報