How to clear input buffer in C

2 Answers

0 votes
#include <stdio.h>

void clear(void) {
	int ch; 
    
	while((ch = getchar()) != '\n' && ch != EOF); 
}
 
int main()
{
    int a, b, c;
    
	scanf("%d %d %d", &a, &b, &c);
	
	printf("a = %d b = %d c = %d\n", a, b, c);
	
	clear(); // clear the buffer
	 
    return 0;
}
 
 
 
 
/*
run :
 
4 7 9
a = 4 b = 7 c = 9
 
*/
 

 



answered Feb 10, 2021 by avibootz
edited Mar 16, 2022 by avibootz
0 votes
#include <stdio.h>
  
int main()
{
    int a, b, c;
     
    scanf("%d %d %d", &a, &b, &c);
     
    printf("a = %d b = %d c = %d\n", a, b, c);
     
    fflush(stdin); // clear the buffer // not standard
      
    return 0;
}
  
  
  
  
/*
run :
  
345 647 z
a = 345 b = 647 c = 0
  
*/

 

 



answered Feb 10, 2021 by avibootz

Related questions

1 answer 109 views
109 views asked Aug 8, 2024 by avibootz
1 answer 297 views
297 views asked Sep 14, 2014 by avibootz
1 answer 153 views
2 answers 328 views
1 answer 268 views
...