#include <cstdio>
#include <cstring>
#include <string>
#include "optimization.h" // readWord

using namespace std;

const char *example = "abc"; 
// 4 байта = 'a', 'b', 'c', 0
// 0 -- признак конца строки

int main() {
	char s[100 + 1]; // строка, в которую можно сохранить до 100 символов
	// память перед чтением выделять должны мы сами, нельзя сделать "char*x; gets(x);"
	scanf("%s", s); // считать слово (до пробела)
	fgets(s, 100, stdin); // считать строку (до перевода строки, перевод строки записать в строку)
	printf("%s = %s\n", s, s);
	readWord(s); // то же, средствами "optimization.h"
	
	int len = strlen(s); // работает за линейное время
	for (int i = 0; i < len; i++)  
		; // перебор символов строки, вариант #1
	for (int i = 0; s[i] != 0; i++)  
		; // перебор символов строки, вариант #2

	if ('a' <= s[0] && s[0] <= 'z') // коды букв и цифр идут подряд
		printf("Первый символ, буква #%d\n", s[0] - 'a');			
	
	if (strcmp(s, example) == 0)
		puts("Строки равны"); 
	else if (strcmp(s, example) > 0)
		puts("Наша строка больше"); 
		
	char *t = s + 1; // взяли подстроку "без первого символа"
	t[strlen(t) - 1] = 0; // обрезали один последний символ
	puts(t);	
	
	string tmp = string(s); // char* -> string
	const char *p = tmp.c_str(); // string -> const char*
}