In earlier post "Character counting in C", we have written a program to count number of characters, lets extend this further and count blanks, tabs and newlines.
int main()
{
double char_count;
char input_char;
int tabs_count=0,spaces_count=0;
char input_val;
printf("\n Input a line to count spaces and tabs \n");
/* Reading a character */
input_char = getchar();
/* In a for loop read characters till end of line is encountered */
for(char_count = 0; input_char != '\n'; ++char_count)
{
/* Check if input character is a space */
if(input_char == ' ')
{
/* if space, increment space variable count */
++spaces_count;
}
/* else if input character is a tab */
else if(input_char == '\t')
{
/* if tab increment tab count */
++tabs_count;
}
/* Read next character to check if its space or tab */
input_char = getchar();
}
/* Finally print number of spaces and tabs read */
printf("\n Your input contains %d spaces, %d tabs \n",spaces_count,tabs_count);
return 0;
}
In above program,- We read a character
- In a for loop till end of line is encountered, we check each character entered is a space (' ') or tab('\t').
- Increment spaces_count and tabs_count variables accordingly
- Finally when new line is encountered, we print the space count and tab count.
Output of this program :
mrtechpathi@mrtechpathi:~/Study/C/K_and_R$ ./a.out
Input a line to count spaces and tabs
will be giving a tab now just one tab behind
Your input contains 9 spaces, 1 tabs
No comments:
Post a Comment