Другие языки программирования и технологии

Помогите найти ошибку в калькуляторе Си

#include <stdio.h> float a,b; char z; int main() { printf("Vvedite"); scanf("%f %c %f", &a,&z,&b); printf("%f %c %f = %f\n",a,z,b,a z b); return 0; } Компилятор говорит где-то в 11 строчке (где второй принтф)
А знаки мат действий кто будет указывать?
printf("%f %c %f = %f\n",a,z,b,a*z*b);
если не умножение, то пишите что

"z - у меня знак"
так это НЕ РАБОТАЕТ в С!! !

если вводите знак отдельно, то и делаете проверку, что за знак. .
if (z=='+') printf("%f %c %f = %f\n",a,z,b,a+b);
if (z=='*') printf("%f %c %f = %f\n",a,z,b,a*b);
и тд и тп. . можно сделать через switch

ps: вот вам простейший пример

#include<stdio.h>

float add(float,float);
float sub(float,float);
float product(float,float);
float divide(float,float);

void main()
{
float n1,n2;
char sym,choice;
printf("This Program is a program for calculator\n\n");
scanf("%f%c%f",&n1,&sym,&n2);
if(sym=='+')
printf("\n%f",add(n1,n2));
if(sym=='-')
printf("\n%f",sub(n1,n2));
if(sym=='*')
printf("\n%f",product(n1,n2));
if(sym=='/')
printf("%f",divide(n1,n2));
printf("\nDo you wish to continue[y/n]");
scanf("%s",&choice);
if(choice=='y'||choice=='Y')
main();
}

float add(float m1,float m2)
{
return(m1+m2);
}

float sub(float m1,float m2)
{
return(m1-m2);
}

float product(float m1,float m2)
{
return(m1*m2);
}

float divide(float m1,float m2)
{
return(m1/m2);
}
СШ
Саша Шумилов
61 467
Лучший ответ
1) Давно не писал ничего - не помню зачем в сканфе нужно амперсенты ставить и нужно ли?
2) Во втором принтф у тебя явно косяк с с тем что собираешься выводить 4 значения а выводишь 6 да еще запятые не поставил.
Да и пиши уж сразу void main()
Нафиг тебе инт и еще ретурн делать?

Прочитал твой коммент - вообще бред ты написал.
Знак не может быть переменной.
полностию согласен с первым