Используя данный исходный код, я пытаюсь выполнить некоторые арифметические операции. Данный вход:
1
234*34
Поскольку между 234
и *
и 34
нет пробела, scanf
неправильно его читает. Что я должен сделать, чтобы scanf
прочитал этот ввод и дал правильный ответ, не оставляя пробела между числами ввода?
#include <stdio.h>
int arithematic(){
int a,c,t,i=0,k,l;
char b[100];
scanf("%d%s%d",&a,&b[0],&c);
if(b[0] =='+')
t = a+c;
if(b[0] == '-')
t=a-c;
if(b[0]=='*')
t=a*c;
k=a;
l=c;
while(k>0||l>0)
{
k/=10;l/=10;
i++;
}
printf("%d\n",a);
printf("%s",b);
printf("%d\n",c);
while(i>0)
{
printf("-");
i--;
}
printf("\n%d\n",t);
}
int main(void)
{
int n;
scanf("%d",&n);
while(n--)
{
arithematic();
printf("\n");
}
}