Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

problem in scanning character in C

Tags:

c

#include<stdio.h>
#include<conio.h>
void main()
{
  int a,b,c;
  char ch;
  printf("Enter value of a and b");
  scanf("%d %d",&a,&b);
  printf("Enter choice of operation");
  scanf("%c",&ch);// **Here this statment is not able to receive my input***
  switch(ch)
  {
     case '+':
            c=a+b;
            break;
     case '-':
            c=a-b;
            break;

     default:
             printf("invalid");
             break;
  }
getch();
}

Error:

scanf("%c",&ch); // Here this statment is not able to receive my input Unable to scan input given by user??????

thanks..

like image 878
Viral Parmar Avatar asked Nov 29 '22 03:11

Viral Parmar


1 Answers

Unlike most conversions, %c does not skip whitespace before converting a character. After the user enters the two numbers, a carriage return/new-line is left in the input buffer waiting to be read -- so that's what the %c reads.

like image 150
Jerry Coffin Avatar answered Dec 15 '22 06:12

Jerry Coffin