Comparing Strings 
main( ) 
{ 
char str1[ ] = ”Bombay” ; 
char str2[ ] = ”Nagpur” ; 
char str3[ ] = ”Bombaywala” ; 
char str4[ ] = ”Bombay” ; 
int i, j, k ; 
strcmp xi s=t rxcsmtrpcm ( ( str1, pst (r 1s,str2 t rs1tr, 2s ) t); 
r ;2 ) ; 
xstrcmp j = xstrcmp ( str1, ( str1, str3 str3 ) ; 
) ; 
xstrcmp ( str1, str4 ) ; 
printf ( ”%d%d%d”, i, j, k ) ; 
Non 
Zero Non 
Zero 
} 
0 
k = xstrcmp ( str1, str4 ) ;
i = xstrcmp ( str1, str2 ) ; 
xstrcmp ( 
) 
char *t, 
char *s 
while ( *t == *s ) 
{ 
if ( *t == ’0’ ) 
break ; 
t++ ; 
s++ ; 
} 
return ( *t - *s ) ; 
{ 
} 
t 
B o m b a y 0 
B o m b a y w a l a 0 
s 
t 
N a g p u r 0 
B o m b a y 0 
s 
main( ) 
{ 
} 
Comparing Strings
main( ) 
{ 
Outputting Strings 
char str1[ ] = ”Nagpur” ; 
printf ( ”%s”, str1 ) ; 
xputs ( str1 ) ; 
p 
N a g p u r 0 
} 
{ 
xputs ( char *p ) 
while ( *p != ’0’ ) 
printf ( ”%c”, *p ) ; 
p++ ; 
{ 
} } 
putch ( *p ) ;
Standard Library Functions 
strlen 
strcpy 
strcat 
strupr 
strlwr 
toupper 
tolower 
strcmp 
puts 
gets 
strncpy ( str1, str2, 5 ) ; 
strncat ( str1, str2, 6 ) ; 
strncmp ( str1, str2, 6 ) ; 
strncmpi ( str1, str2, 4 ) ; 
strnicmp ( str1, str2, 4 ) ; 
strchr ( ”Hello”, ’e’ ) ; 
strstr ( ”I am a boy”, ”am” ) ; 
strset 
s. t.rnset .. ..
main( ) 
{ 
”Sanjay” 
”Amol” 
”Sivaramakrishnan” 
”Sameer” 
”Rahul” 
char str1[ ] = ; 
char str2[ ] = ; 
char str3[ ] = ; 
char str4[ ] = ; 
char str5[ . . ] = ; . . 
} 
Handling Several Strings
Array of Strings / 2-D Array 
char n[ ][ ] = { 
, 
, 
”Sanjay” 
”Amol” 
”Sivaramakrishnan” 
”Sameer” 
”Rahul” 
} ; 
, 
, 
100 
printf ( ”%d”, sizeof ( n ) ) ; 
printf ( ”%c%c”, n[ 0 ][ 1 ], n[ 1 ][ 0 ] ) ; 
a A 
} 
20 
main( ) 
{
Sanjay0 Amol0 Sivar...0 Sameer0 Rahul0 
401 421 441 461 481 
char n[ ][ 20 ] = { . . . . } ; 
int i, j ; 
for ( i = 0 ; i <= 4 ; i++ ) 
{ 
for ( j = 0 ; j < = 1 9 ; j + + ) 
{ 
if ( n[ i ][ j ] == ’0’ ) 
break ; 
} 
} 
} 
printf ( ”%c”, n[ i ][ j ] ) ; 
main( ) 
{
Sanjay0 Amol0 Sivar...0 Sameer0 Rahul0 
401 421 441 461 481 
main( ) 
{ 
int i, j ; 
for ( j = 0 ; j <= 19 ; j++ ) 
{ 
} 
char n[ ][ 20 ] = { ” S a n j a y ” , “ A m ol”, … } ; 
t = n[ 1 ][ j ] ; 
n[ 1 ][ j ] = n[ 2 ][ j ] ; 
n[ 2 ][ j ] = t ; 
} 
for ( i = 0 ; i <= 4 ; i++ ) 
printf ( ”%s”, &n[ i ][ 0 ] 
) ; 
n + i 
char t ;
Disadvantages 
Sanjay0 Amol0 Sivar...0 Sameer0 Rahul0 
401 421 441 461 481 
- Wastage 
- Inefficient Processing 
Wastage 
13 
15 
3 
13 
14 
58 Bytes
Sanjay0 
400 
Amol0 
300 
Sivar...0 
600 
Sameer0 
500 
Rahul0 
100 
char *n[ ] = { 
} ; 
400 300 600 500 100 
”Sanjay” 
, 
”Amol” 
, 
”Sivaramakrishnan” 
”Sameer” 
, 
”Rahul” 
, 
n[ ] 
202 4 6 8 10 
int i ; char *t ; 
for ( i = 0 ; i <= 4 ; i++ ) 
printf ( ”%s”, n [ i ] ) ; 
t = n[ 1 ] ; 
n[ 1 ] = n[ 2 ] ; 
n[ 2 ] = t ; 
for ( i = 0 ; i <= 4 ; i++ ) 
printf ( ”%s”, n[ i ] ) ; 
} 
main( ) 
{
main( ) 
{ 
char *n[ ] = { 
”Sanjay” 
”Amol” 
} ; 
, 
, 
Selection 
Sort 
i j 
0 - 1 
0 - 2 
0 - 3 
0 - 4 
1 - 2 
1 - 3 
1 - 4 
2 - 3 
2 - 4 
3 - 4 
int i, j ; char *t ; 
for ( i = 0 ; i <= 3 ; i++ ) 
{ 
for ( j = i + 1 ; j <= 4 ; j++ ) 
{ 
if ( strcmp ( n[ i ], n[ j ] ) > 0 ) 
{ 
t = n[ i ] ; n[ i ] = n[ j ] ; n[ j ] = t ; 
} 
} 
} 
for ( i = 0 ; i <= 4 ; i++ ) 
printf ( ”%s”, n[ i ] ) ; 
}
CChhaapptteerr 99 
CChhaapptteerr 99

Vcs21

  • 1.
    Comparing Strings main() { char str1[ ] = ”Bombay” ; char str2[ ] = ”Nagpur” ; char str3[ ] = ”Bombaywala” ; char str4[ ] = ”Bombay” ; int i, j, k ; strcmp xi s=t rxcsmtrpcm ( ( str1, pst (r 1s,str2 t rs1tr, 2s ) t); r ;2 ) ; xstrcmp j = xstrcmp ( str1, ( str1, str3 str3 ) ; ) ; xstrcmp ( str1, str4 ) ; printf ( ”%d%d%d”, i, j, k ) ; Non Zero Non Zero } 0 k = xstrcmp ( str1, str4 ) ;
  • 2.
    i = xstrcmp( str1, str2 ) ; xstrcmp ( ) char *t, char *s while ( *t == *s ) { if ( *t == ’0’ ) break ; t++ ; s++ ; } return ( *t - *s ) ; { } t B o m b a y 0 B o m b a y w a l a 0 s t N a g p u r 0 B o m b a y 0 s main( ) { } Comparing Strings
  • 3.
    main( ) { Outputting Strings char str1[ ] = ”Nagpur” ; printf ( ”%s”, str1 ) ; xputs ( str1 ) ; p N a g p u r 0 } { xputs ( char *p ) while ( *p != ’0’ ) printf ( ”%c”, *p ) ; p++ ; { } } putch ( *p ) ;
  • 4.
    Standard Library Functions strlen strcpy strcat strupr strlwr toupper tolower strcmp puts gets strncpy ( str1, str2, 5 ) ; strncat ( str1, str2, 6 ) ; strncmp ( str1, str2, 6 ) ; strncmpi ( str1, str2, 4 ) ; strnicmp ( str1, str2, 4 ) ; strchr ( ”Hello”, ’e’ ) ; strstr ( ”I am a boy”, ”am” ) ; strset s. t.rnset .. ..
  • 5.
    main( ) { ”Sanjay” ”Amol” ”Sivaramakrishnan” ”Sameer” ”Rahul” char str1[ ] = ; char str2[ ] = ; char str3[ ] = ; char str4[ ] = ; char str5[ . . ] = ; . . } Handling Several Strings
  • 6.
    Array of Strings/ 2-D Array char n[ ][ ] = { , , ”Sanjay” ”Amol” ”Sivaramakrishnan” ”Sameer” ”Rahul” } ; , , 100 printf ( ”%d”, sizeof ( n ) ) ; printf ( ”%c%c”, n[ 0 ][ 1 ], n[ 1 ][ 0 ] ) ; a A } 20 main( ) {
  • 7.
    Sanjay0 Amol0 Sivar...0Sameer0 Rahul0 401 421 441 461 481 char n[ ][ 20 ] = { . . . . } ; int i, j ; for ( i = 0 ; i <= 4 ; i++ ) { for ( j = 0 ; j < = 1 9 ; j + + ) { if ( n[ i ][ j ] == ’0’ ) break ; } } } printf ( ”%c”, n[ i ][ j ] ) ; main( ) {
  • 8.
    Sanjay0 Amol0 Sivar...0Sameer0 Rahul0 401 421 441 461 481 main( ) { int i, j ; for ( j = 0 ; j <= 19 ; j++ ) { } char n[ ][ 20 ] = { ” S a n j a y ” , “ A m ol”, … } ; t = n[ 1 ][ j ] ; n[ 1 ][ j ] = n[ 2 ][ j ] ; n[ 2 ][ j ] = t ; } for ( i = 0 ; i <= 4 ; i++ ) printf ( ”%s”, &n[ i ][ 0 ] ) ; n + i char t ;
  • 9.
    Disadvantages Sanjay0 Amol0Sivar...0 Sameer0 Rahul0 401 421 441 461 481 - Wastage - Inefficient Processing Wastage 13 15 3 13 14 58 Bytes
  • 10.
    Sanjay0 400 Amol0 300 Sivar...0 600 Sameer0 500 Rahul0 100 char *n[ ] = { } ; 400 300 600 500 100 ”Sanjay” , ”Amol” , ”Sivaramakrishnan” ”Sameer” , ”Rahul” , n[ ] 202 4 6 8 10 int i ; char *t ; for ( i = 0 ; i <= 4 ; i++ ) printf ( ”%s”, n [ i ] ) ; t = n[ 1 ] ; n[ 1 ] = n[ 2 ] ; n[ 2 ] = t ; for ( i = 0 ; i <= 4 ; i++ ) printf ( ”%s”, n[ i ] ) ; } main( ) {
  • 11.
    main( ) { char *n[ ] = { ”Sanjay” ”Amol” } ; , , Selection Sort i j 0 - 1 0 - 2 0 - 3 0 - 4 1 - 2 1 - 3 1 - 4 2 - 3 2 - 4 3 - 4 int i, j ; char *t ; for ( i = 0 ; i <= 3 ; i++ ) { for ( j = i + 1 ; j <= 4 ; j++ ) { if ( strcmp ( n[ i ], n[ j ] ) > 0 ) { t = n[ i ] ; n[ i ] = n[ j ] ; n[ j ] = t ; } } } for ( i = 0 ; i <= 4 ; i++ ) printf ( ”%s”, n[ i ] ) ; }
  • 12.