Я все новичок в программировании, поэтому, пожалуйста, помогите мне. Кажется, что переменная результата не имеет правильного значения. Я знаю, что лучше всего использовать cin
и cout
, но мой репетитор попросил меня использовать printf
и scanf
., если и по сравнению с ==
если я изменю код на printf ("% d", результат); Я получаю: Ошибка проверки времени выполнения # 3 - переменная 'result' используется без инициализации. , и если я сменил код на scanf ("% c", & c); % c получит пустое пространство от первого scanf() !!! поэтому я должен написать это так scanf («% c% * c», & c); или таким образом scanf ("% c", & c) ;. кажется, что% c в отличие от% d или% f не пропускает пробел.
#include<stdio.h>
#include<conio.h>
int main ()
{
int n1, n2;
int result;
char c;
printf("Lotfan addad aval ra vared konid\n");
scanf("%d", &n1);
printf("Lotfan addad Dovom ra vared konid\n");
scanf("%d", &n2);
printf("Please choose an operator\n");
scanf("%c%*c", &c);
if (c=='+')
{
result=n1+n2;
}
else if (c=='-')
{
result=n1-n2;
}
else if (c=='*')
{
result=n1*n2;
}
else if (c=='/')
{
result=n1/n2;
}
//else
//{
//printf("error");
//}
//printf("%d%c%d=%d" ,n1,c,n2,&result);
printf("%d", &result);
getch();
return 0;
}
I s это C или C++? Глядя на свой код (кроме неправильного объявления «main»), можно предположить, что это C. Какой язык вы изучаете? Они разные. –
@WilliamPursell Я думаю, что разница здесь не имеет никакого смысла. –
Ваш совет преподавателя плох, типичные потоки C++ являются предпочтительными. Если вы должны использовать 'printf', добавьте некоторые для диагностики потока программы, а затем вытащите их после его работы. Или узнайте, как пройти через код в отладчике (дополнительный кредит) –