[ad_1]
#include<stdio.h> int main() { int marks; printf("Enter the Marks:"); scanf("%d", &marks); if("marks >= 95"){ printf("Grade is A+ \n"); } else if("marks > 80 && marks < 95"){ printf("Grade is B+ \n"); } else if("marks > 70 && marks < 80"){ printf("Grade is B \n"); } else { printf("Grade is C \n"); } printf("Thank you!"); return 0; }
私が試したこと:
if関数とelse if関数について学びました。 コードをコンパイルしようとしましたが、想定どおりに実行されません。
解決策 1
if("marks >= 95"){ ^ ^
あなたはあなたの if
二重引用符で囲まれた式は、評価されないことを意味します*。 引用符を削除するだけで、コンパイラは適切な式テストを構築できます。
※実際には文字列はありませんので、 NULL
彼らは常に次のように評価します TRUE
。
解決策 2
if
そして else if
関数ではありません。 それらは言語の構成要素です。
について学んだと言っていましたね if
、 でも足りない。 条件式を引用符で囲まないでください。
if("marks >= 95"){
になる
if(marks >= 95) {
あなたは初心者なので、どの中括弧が互いに並んでいるかを簡単に追跡できるように、開始中括弧を単独の行に配置することを強くお勧めします。
if (marks >= 95) { printf("Grade is A+ \n"); }
解決策 3
これまでに述べたことにさらに付け加えると、デバッガと呼ばれる役立つツールがほぼ確実に存在します。 使用方法はコンパイラ システムによって異なりますが、IDE の名前と「デバッガ」を Google で検索すると、必要な情報が得られるはずです。 これにより、コードを 1 行ずつ実行し、変数を調べてその内容を確認し、実行中にコードがどこに行くのかを追跡できるようになります。
関数の最初の行にブレークポイントを設定し、デバッガーでコードを実行します。 次に、コードとデータを調べて、手動で何が起こるかを考えます。 次に、各行を 1 ステップずつ実行して、期待したことが実際に起こったかどうかを確認します。 そうでない場合は、問題が発生しているときなので、前に戻って (またはもう一度実行して詳しく調べて) 理由を調べることができます。
申し訳ありませんが、私たちはそれを行うことはできません。新しい (そして非常に便利な) スキルであるデバッグを学ぶ時期です。
[ad_2]
コメント