
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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
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
数字の単位 何故10m>0.003なのかわかりません 数字の単位で何故10mより0.003の方が小さ
C言語・C++・C#
-
7
visual studio 2019において、宣言していない変数があるのにエラーなくビルド出来ました
C言語・C++・C#
-
8
【現役のプロのプログラマーに質問です】プロの大工は相手と握手したら相手の大工の腕が分かる
C言語・C++・C#
-
9
Cの関数の引数のconst *charについて
C言語・C++・C#
-
10
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき
C言語・C++・C#
-
11
C言語について。
C言語・C++・C#
-
12
C言語 コマンドプロンプトについて。
C言語・C++・C#
-
13
プログラミング アルゴリズム
C言語・C++・C#
-
14
マクロ関数 #define の効果は何ですか? わかりやすく教えて下さい
C言語・C++・C#
-
15
Cのdoubleの浮動小数点表示について
C言語・C++・C#
-
16
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
C言語・C++・C#
-
17
c言語の問題の説明、各所ごとに
C言語・C++・C#
-
18
Cのコンパイルでコメントアウトをそのままオブジェクトに保持したい
C言語・C++・C#
-
19
C言語初心者 構造体 課題について
C言語・C++・C#
-
20
C言語の質問です if(a[0]>a[1]&&a[2]&&a[3]&&a[4]) {printf(“
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語の配列を使ってサイコロを...
-
「指定されたキャストは有効で...
-
複数桁10進数の*桁目だけを抽出...
-
C言語での引数の省略方法
-
C言語のサイコロシミュレート
-
PowerShellがうまくいかない
-
C言語 エラーの原因がわからな...
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
実数の整数部,小数部の取得
-
#define _CRT_SECURE_NO_WARNIN...
-
【C++】関数ポインタの使い方
-
C言語で分からないところがあり...
-
式は定数値が必要です」という...
-
「{ } で囲むだけ」は正しい?
-
ソースコード void printBi(cha...
-
数字列を3桁ごとにカンマで区切...
-
メルセンヌ・ツイスタの乱数生...
-
C言語の配列をC++のvectorに高...
-
ポインタを使って関数の値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
実数の整数部,小数部の取得
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
(マルチスレッド)_beginthrea...
-
if と配列の組み合わせ
-
system関数がうまくいかない
-
read関数をノンブロッキングで...
-
std::set<int> で、ある値が何...
-
式は定数値が必要です」という...
-
(int *)の意味
-
数字列を3桁ごとにカンマで区切...
-
「{ } で囲むだけ」は正しい?
-
int16_t の _t は何?
-
【至急】プログラムにエラーが...
-
systemの戻り値を取得する方法
おすすめ情報