#include <stdio.h>
#define SIZE 100
int myStringLengthArray(const char string[])
{
int length = 0;
while (string[length] != '\0')
{
++length;
}
return length;
}
int myStringLengthPointer(const char *string)
{
const char *start = string;
while (*string != '\0')
{
++string;
}
return (int)(string - start);
}
int main(void)
{
char string[SIZE];
fgets(string
, SIZE
, stdin
);
printf("\nLength using array notation = %d\n", myStringLengthArray(string));
printf("Length using pointer notation = %d\n", myStringLengthPointer(string));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAwCgppbnQgbXlTdHJpbmdMZW5ndGhBcnJheShjb25zdCBjaGFyIHN0cmluZ1tdKQp7CiAgICBpbnQgbGVuZ3RoID0gMDsKCiAgICB3aGlsZSAoc3RyaW5nW2xlbmd0aF0gIT0gJ1wwJykKICAgIHsKICAgICAgICArK2xlbmd0aDsKICAgIH0KCiAgICByZXR1cm4gbGVuZ3RoOwp9CgppbnQgbXlTdHJpbmdMZW5ndGhQb2ludGVyKGNvbnN0IGNoYXIgKnN0cmluZykKewogICAgY29uc3QgY2hhciAqc3RhcnQgPSBzdHJpbmc7CgogICAgd2hpbGUgKCpzdHJpbmcgIT0gJ1wwJykKICAgIHsKICAgICAgICArK3N0cmluZzsKICAgIH0KCiAgICByZXR1cm4gKGludCkoc3RyaW5nIC0gc3RhcnQpOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgICBjaGFyIHN0cmluZ1tTSVpFXTsKCiAgICBwcmludGYoIkVudGVyIGEgc3RyaW5nOiAiKTsKICAgIGZnZXRzKHN0cmluZywgU0laRSwgc3RkaW4pOwoKICAgIHByaW50ZigiXG5MZW5ndGggdXNpbmcgYXJyYXkgbm90YXRpb24gPSAlZFxuIiwKICAgICAgICAgICBteVN0cmluZ0xlbmd0aEFycmF5KHN0cmluZykpOwoKICAgIHByaW50ZigiTGVuZ3RoIHVzaW5nIHBvaW50ZXIgbm90YXRpb24gPSAlZFxuIiwKICAgICAgICAgICBteVN0cmluZ0xlbmd0aFBvaW50ZXIoc3RyaW5nKSk7CgogICAgcmV0dXJuIDA7Cn0=