簡體   English   中英

C 中的 Else If 語句未正確執行

[英]Else If statement in C is not executing correctly

我使用 else...if 語句為計算器編寫了一個 C 程序。 沒有語法錯誤並且編譯得很好但是程序跳過所有條件並且只執行最后一個(顯示錯誤消息)。 我不知道出了什么問題。 這是我的代碼 如果這是一個愚蠢的問題,我很抱歉,我嘗試用谷歌搜索這個但什么也沒有想出。

代碼:

#include<stdio.h>
{
float no1, no2, ans;
char op;

printf("ENTER 1ST NUMBER:\n");
scanf("%f",&no1);
printf("ENTER 2ND NUMBER:\n");
scanf("%f",&no2);
printf("ENTER A BASIC MATHEMATICAL OPERATOR:\n");
scanf("%ch",&op);

if(op=='+')
{
    ans=no1+no2;
}else if(op=='-')
{
    ans=no1-no2;
}else if(op=='*')
{
    ans=no1*no2;
}else if(op=='/')
{
    ans=no1/no2;
}else
{
    printf("INVALID OPERATOR!!\n");
}

printf("ANSWER=%.2f\n", ans);

return 0;
}

更新:感謝您的幫助,以后我會注意復制粘貼代碼而不是截圖,

您的代碼看起來不錯,但如果您不復制代碼,我們將無法調試以搜索錯誤。 我建議您調試代碼並控制 op 變量在 if else 之前的值。

如果您復制代碼,我可以嘗試調試並搜索錯誤。

我認為您的問題與此問題類似Issues with using if/else statements correctly in C language

改變scanf("%ch",&op); scanf("%c", &op); 可能會解決你的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM