Home »
Aptitude Questions and Answers »
C Aptitude Questions and Answers
C Strings - Aptitude Questions & Answers
C programming String Aptitude Questions and Answers: In this section you will find C Aptitude Questions and Answers on Strings, String is the set of characters and String related Aptitude Questions and Answers you will find here.
1) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
int val=0;
char str[]="IncludeHelp.Com";
val=strcmp(str,"includehelp.com");
printf("%d",val);
return 0;
}
- 0
- 1
- -1
- Error
Correct Answer - 3
-1
Strings are not equal, hence strcmp will return -1.
2) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
char str[];
strcpy(str,"Hello");
printf("%s",str);
return 0;
}
- Hello
- Error
- No Output
- Null
Correct Answer - 2
Error: 'str' Unknown Size
At the time of str declaration, size is empty, it may be possible when you are initializing string with
declaration (like char str[]="Hello";
3) What will be the output of following program ?
#include <stdio.h>
int main()
{
char str[8]="IncludeHelp";
printf("%s",str);
return 0;
}
- IncludeHelp
- IncludeH
- Error
- No Output
Correct Answer - 3
Error: Too many initializers/ array bounds overflow.
4) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
char str1[]="IncludeHelp",str2[]=".Com";
printf("%s",str1+strlen(str2));
return 0;
}
- IncludeHelp.Com
- udeHelp
- Error
- IncludeHelp4
Correct Answer - 2
udeHelp
Look the expression str1+strlen(str2)=> str1+4, since str1 is a character array, and str1+4 will point 4th index of
str1, then udeHelp will print.
5) What will be the output of following program ?
#include <stdio.h>
int main()
{
char str[]="Hello%s%dFriends";
printf(str);
printf("\n");
printf("%s",str);
return 0;
}
- HelloFriends
HelloFriends
- Hello%s%dFriends
Hello%s%dFriends
- Hello(null)0Friends
Hello%s%dFriends
- Garbage Value
Correct Answer - 3
Hello(null)0Friends
Hello%s%dFriends
printf("%s",str); prints all string, but printf(str) prints the value instead of %s, %d .. etc (default value
for %s is null and %d is 0.
6) What will be the output of following program ?
#include <stdio.h>
int main()
{
int i;
char str[]="IncludeHelp";
for(i=0;str[i]!='\0';i++)
{
putchar(str[i]);
putchar('*');
}
return 0;
}
I*n*c*l*u*d*e*H*e*l*p*
.
7) What will be the output of following program ?
#include <stdio.h>
int main()
{
char str[]="value is =%d";
int a='7';
str[11]='c';
printf(str,a);
return 0;
}
- value is =%d
- value is =%c
- value is =55
- value is =7
Correct Answer - 4
value is =7
We can assign '7' into integer variable a, a will be 55, but str[11]='c' statement will replace
11th character of str 'd' to 'c', hence str will be "value is =%c.
and statement printf(str,a); will print "value is=7".
8) What will be the output of following program ?
#include <stdio.h>
int main()
{
char result,str[]="\0IncludeHelp";
result=printf("%s",str);
if(result)
printf("TRUE");
else
printf("FALSE");
return 0;
}
- \0IncludeHelpTRUE
- \0IncludeHelpFALSE
- Error
- FALSE
Correct Answer - 4
FALSE
str[]="\0IncludeHelp", str will be terminated by \0.
9) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
if( printf("Hello") == strlen("Hello") )
printf("...Friends");
else
printf("...Enemies");
return 0;
}
- Hello...Friends
- Hello...Enemies
- ...Friends
- ...Enemies
Correct Answer - 1
Hello...Friends
Statement printf("Hello") will print "Hello" and return 5, and statement strlen("Hello") will return
total number of characters (5) , hence condition is true.
10) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
char s1[]="IncludeHelp";
char s2[10];
strncpy(s2,s1,5);
printf("%s",s2);
return 0;
}
- Inclu
- IncluGARBAGE_VALUE
- Error
- IncludeHelp
Correct Answer - 2
IncluGARBAGE_VALUE
strncpy is used to copy number of characters from one string to another...
strncpy(s2,s1,5) will move 5 characters from s1 to s2, but there is no NULL ('\0') character
to terminate the string s2...IncluGARBAGE_VALUE will print.
11) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
char str[50]="IncludeHelp";
printf("%d...%d",strlen(str),sizeof(str));
return 0;
}
- 50...50
- 11...50
- 11...11
- 50...11
Correct Answer - 2
11...50
strlen returns the number of characters, and sizeof(str) returns total occupied size by str.
12) What will be the output of following program ?
#include <stdio.h>
int main()
{
char *str="IncludeHelp";
while(*str)
printf("%s\n",str++);
return 0;
}
- IncludeHelp
IncludeHel
IncludeHe
..
I
- IncludeHelp
ncludeHelp
cludeHelp
..
P
- ERROR
- IncludeHelp
Correct Answer - 2
IncludeHelp
ncludeHelp
cludeHelp
ludeHelp
udeHelp
deHelp
eHelp
Help
elp
lp
p
When *str will reach to NULL after 'p', while will terminate.
13) What will be the output of following program ?
#include <stdio.h>
#define string char*
int main()
{
string myName="IncludeHelp";
printf("My name is =%s",myName);
return 0;
}
- IncludeHelp
- Error
- char*
- myName
Correct Answer - 1
IncludeHelp
string will be replaced by char *.
14) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main()
{
printf("%d...%d",sizeof("Hello"),strlen("Hello"));
return 0;
}
- 5...5
- 6...6
- 5...6
- 6...5
Correct Answer - 4
6...5
sizeof operator returns the size of the string including NULL character, and
strlen returns the number of characters stored in string.
15) What will be the output of following program ?
#include <stdio.h>
#include <string.h>
int main(){
char str[]="Ihelp";
while(str+strlen(str))
printf("*");
return 0;
}
- ERROR
- No output
- ***... infinite times
- *
Correct Answer - 3
***... infinite times
str+strlen(str) in this expression str is a pointer that return memory address and
str+strlen(str) = str+5, also an address (integer value), so expression str+strlen(str) will
return non zero value.