Ниже приведена часть кода, который я пишу для домашнего задания в классе EEL4834. Это просто для практики, а не для класса.Программа C рассматривает утверждение if как ложное, если оно действительно истинно
Моя проблема заключается в том, что компилятор обрабатывает мою инструкцию if как ложную, когда она истинна. Я считаю, что это правда, потому что я проверяю оператор, печатая значение моей переменной в инструкции else, а значение, которое печатается для моей переменной, - это значение, которое я запрашиваю в инструкции if.
Код ...
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a, b, c, d, box;
float box1;
printf("\nPlease enter the box type as a, b, c, or d: ");
scanf("\n%c", &box);
if (box == a){
box1 = .05;
printf("%f", box1);
}
else{
printf("\n%c\n", box);
}
system("pause");
return 0;
}
Результат выглядит примерно так ...
Please enter a box type as a, b, c, or d: a
a
Press any key to continue . . .
Выход говорит мне, что коробка на самом деле, но если окно является то почему компилятор не считает утверждение if истинным? Я пропустил инструкции if, которые включают опции для b, c или d для простоты.
Прошу прощения, если это что-то глупое. Я попытался использовать поисковую систему, и что-то интересное выглядело намного сложнее, чем моя проблема. Заранее благодарю за любую помощь.
Всегда определяйте свои переменные, даже с нулем/0. 'char a = 'a', b = 'b', c = 'c', d = 'd', box = 0; float box1 = 0; ' –