如何在不将换行符放入 scanf() 的情况下刷新输入缓冲区?因为我的教授不喜欢它。我试过 fflush(); 但它没有用。
#include <stdio.h>
#include <conio.h>
int CountUpper(char S[],int n)
{
int i,cntr = 0;
for(i = 0; i < n; i++)
if(S[i] >= 'A' && S[i] <= 'Z')
++cntr;
return cntr;
}
int main(void)
{
int n,i;
printf("Enter n: ");
scanf("%d",&n);
char array[n];
for(i = 0; i < n; i++)
{
scanf("%c",&array[i]);
//fflush(stdin);
}
printf("Number of uppercase characters in array: %d\n",CountUpper(array,n));
getch();
return 0;
}