#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100 // Maximum string size
int main()
{
char str[MAX_SIZE], word[MAX_SIZE];
int i, index, found = 0;
/* Input string and word from user */
printf("Enter word to be searched: ");
/* Run loop from start to end of string */
index = 0;
while(str[index] != '\0')
{
/* If first character of word matches with the given string */
if(str[index] == word[0])
{
/* Match entire word with current found index */
i=0;
found = 1;
while(word[i] != '\0')
{
if(str[index + i] != word[i])
{
found = 0;
break;
}
i++;
}
}
/* If the word is found then get out of loop */
if(found == 1)
{
break;
}
index++;
}
/* Print success message if the word is found */
if(found == 1)
{
printf("\n'%s' is found at index %d.", word
, index
); }
else
{
printf("\n'%s' is not found.", word
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2RlZmluZSBNQVhfU0laRSAxMDAgLy8gTWF4aW11bSBzdHJpbmcgc2l6ZQoKaW50IG1haW4oKQp7CiAgICBjaGFyIHN0cltNQVhfU0laRV0sIHdvcmRbTUFYX1NJWkVdOwogICAgaW50IGksIGluZGV4LCBmb3VuZCA9IDA7CgogICAgLyogSW5wdXQgc3RyaW5nIGFuZCB3b3JkIGZyb20gdXNlciAqLwogICAgcHJpbnRmKCJFbnRlciBhbnkgc3RyaW5nOiAiKTsKICAgIGdldHMoc3RyKTsKICAgIHByaW50ZigiRW50ZXIgd29yZCB0byBiZSBzZWFyY2hlZDogIik7CiAgICBnZXRzKHdvcmQpOwoKCiAgICAvKiBSdW4gbG9vcCBmcm9tIHN0YXJ0IHRvIGVuZCBvZiBzdHJpbmcgKi8KICAgIGluZGV4ID0gMDsKICAgIHdoaWxlKHN0cltpbmRleF0gIT0gJ1wwJykKICAgIHsKCiAgICAgICAgLyogSWYgZmlyc3QgY2hhcmFjdGVyIG9mIHdvcmQgbWF0Y2hlcyB3aXRoIHRoZSBnaXZlbiBzdHJpbmcgKi8KICAgICAgICBpZihzdHJbaW5kZXhdID09IHdvcmRbMF0pCiAgICAgICAgewogICAgICAgICAgICAvKiBNYXRjaCBlbnRpcmUgd29yZCB3aXRoIGN1cnJlbnQgZm91bmQgaW5kZXggKi8KICAgICAgICAgICAgaT0wOwogICAgICAgICAgICBmb3VuZCA9IDE7CiAgICAgICAgICAgIHdoaWxlKHdvcmRbaV0gIT0gJ1wwJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RyW2luZGV4ICsgaV0gIT0gd29yZFtpXSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IDA7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIElmIHRoZSB3b3JkIGlzIGZvdW5kIHRoZW4gZ2V0IG91dCBvZiBsb29wICovCiAgICAgICAgaWYoZm91bmQgPT0gMSkKICAgICAgICB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgaW5kZXgrKzsKICAgIH0KICAgIAogICAgLyogIFByaW50IHN1Y2Nlc3MgbWVzc2FnZSBpZiB0aGUgd29yZCBpcyBmb3VuZCAqLwogICAgaWYoZm91bmQgPT0gMSkKICAgIHsKICAgICAgICBwcmludGYoIlxuJyVzJyBpcyBmb3VuZCBhdCBpbmRleCAlZC4iLCB3b3JkLCBpbmRleCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcHJpbnRmKCJcbiclcycgaXMgbm90IGZvdW5kLiIsIHdvcmQpOwogICAgfQoKICAgIHJldHVybiAwOwp9