【解決方法】Cプログラム2の数値は、aがbで割り切れるかどうかを確認します


#include <stdio.h> 
  int main() {
  int a,d;
  scanf("%d,%d",&a,&d);
	if(a%d==0)
		printf("%d is divisible by %d" , a ,d);
    return 0;
}

プログラムのどこが悪いのですか? 実行すると、番号を要求されますが、必要なものが表示されません

私が試したこと:

なんでも…………………………………………

解決策 1

自分で考えて解決しようとする前に、単に「何が問題なのか」と尋ねると、ちょっと退屈です。

これを比較

scanf("%d,%d",&a,&d);

同様に、他の質問で行った….
例えば

scanf("%d %d %d %d" , &a ,&b , &c , &d);

解決策 3

引用:

プログラムのどこが悪いのですか? 実行すると、番号を要求されますが、必要なものが表示されません

プログラムが実際に何をしているのかを理解する必要があります。最適なツールはデバッガーです。

コードが期待どおりに動作しないか、理由がわかりません。

ほぼ普遍的な解決策があります。コードをデバッガーで段階的に実行し、変数を調べます。
デバッガーは、コードが何を行っているかを示すためにここにあり、あなたのタスクはコードが何をすべきかを比較することです。
デバッガーには魔法はありません。コードが何をすべきかはわかりません。バグを見つけることはありません。何が起こっているのかを示すことで、バグを見つけるのに役立ちます。 コードが期待どおりに動作しない場合は、バグに近づいています。
コードの動作を確認するには: ブレークポイントを設定してコードの実行を確認するだけです。デバッガーを使用すると、行を 1 行ずつ実行し、実行時に変数を調べることができます。

デバッガ – ウィキペディア (フリー百科事典)[^]

Visual Studio 2010 でのデバッグの習得 – 初心者向けガイド[^]
Visual Studio 2010 を使用した基本的なデバッグ – YouTube[^]

1.11 — プログラムのデバッグ (ステッピングとブレークポイント) | C++ を学ぶ[^]

デバッガーは、コードが何を行っているかを表示するためだけに存在し、あなたのタスクはコードが何をすべきかを比較することです。

解決策 4

入力中に値aとbの間にコンマ(、)を入れる必要があると思います。
例: 12,14。 それ以外は、コードの構造は良好です。

コメント

タイトルとURLをコピーしました