Description
1) Try below and explain why we have an error.
char *y;
y=”hello”; // this is ok
strcpy(y, “hello”); // this is an error
2) Define a character pointer array and store/display strings as below.
char * x[10];
x[0]=”hi”; x[1]=”bye”; x[2]=”hello”;
printf(“%s %s %s\n”, x[0],x[1],x[2]);
3) Read the same sentence with gets() and fgets() and explain the difference.
char x[100];
printf(“enter a sentence\n”);
gets(x);
int slen=strlen(x);
for(i=0;i<slen;i++){
printf(“%x “, x[i]);
}
printf(“\nenter the same sentence\n”);
fgets(x, 100, stdin);
slen=strlen(x);
for(i=0;i<slen;i++){
printf(“%x “, x[i]);
}
4) Use strtok to extract words from a sentence and store them in an array. Display the number of words as below. Use as many functions as possible to split your program into small pieces.
algorithm:
read a line
tokenize
display tokens
Enter a sentence
aa bcd e e ff aa bcd bcd hijk lmn al bcd
You entered aa bcd e e ff aa bcd bcd hijk lmn al bcd
There were 12 words:
aa
bcd
e
e
ff
aa
bcd
bcd
hijk
lmn
al
bcd
The original sentence was: aa bcd e e ff aa bcd bcd hijk lmn al bcd