[E-4]Write function strlen() that
computes the length of a string. The length of a null-terminated string is the
number of characters in it, not counting the null at the end. An empty string
(one that contains only the null byte) will have a length of zero. Here is a
prototype for the function:
int strlength( char *p )
The function's parameter is a pointer to the first byte of the string. Write the function to move the pointer through the successive bytes of the string, incrementing a counter as it does so, until the pointer hits the NUL. Here is a testing program:
/* Puzzle S04 -- string length */
#include <stdio.h>
#include <stdlib.h>
int strlength( char *p )
{
}
int main()
{
char *trials[] = {"String of length 19", "X", "", "Yet another string",
"End of\nlines should\nwork fine."};
int j, ch;
for ( j=0; j<sizeof(trials)/sizeof(char *); j++ )
{
printf("%s\nis length %d\n\n", trials[j], strlength( trials[j] ) );
}
return 0;
}
Note 1: Don't call your function strlen() like the
standard function
or you may have trouble compiling because of a name conflict.
Note 2:
The array trials consists of cells which contain the addresses of
string literals.
The size of each cell is sizeof(char *) so the
number of cells in the array is sizeof(trials)/sizeof(char *).