Witam mam taki program on działa ale nie wiem dlaczego przy wczytywaniu zmiennej d typu char ( scanf(" %c",&d); ) musi być tam spacja mógłby ktoś mi to wyjaśnić ?
Nie interesują mnie odpowiedzi nadaj zmienna jako tablice chce się tylko dowiedzieć dlaczego tam musi być spacja.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
float a,b,c;
char d;
printf("podaj a:\n");
scanf("%f",&a);
printf("podaj b:\n");
scanf("%f",&b);
printf("podaj znak wyrazenia:\n");
scanf(" %c",&d);
printf("znak rowna sie:%c\n",d);
if(d==('/'))
{
c=a/b;
printf("znak rowna sie:%0.2f\n",c);
}
if(d==('+'))
{
c=a+b;
printf("znak rowna sie:%0.2f\n",c);
}
if(d==('-'))
{
c=a-b;
printf("znak rowna sie:%0.2f\n",c);
}
if(d==('*'))
{
c=a*b;
printf("znak rowna sie:%0.2f\n",c);
}
if((d!=('*'))&&(d!=('+'))&&(d!=('/'))&&(d!=('-')))
{
printf("wybrales zly znak");
}
return 0;
}