Я понимаю, что Вы только начинаете изучать C++, но некоторые вещи лучше исправлять сразу, чем переучиваться потом.
1. Вы задаёте массив явно, при этом если измените строку на более длинную и забудете поменять длину массива, то в лучшем случае компилятор выдаст ошибку, в худшем строка затрёт другие данные или обрежется по длине массива потеряв при этом завершающий '\0'.
2. В цикле Вы сразу закладываете ограничение на длину строки (i<10), если забудете поменять - на более длинной строке получите длину 10 символов.
3. Сравнивать с нулём необязательно (хотя и ошибки в этом нет). В С++ есть неявное приведение типов, для логических операций 0 и NULL рассматриваются как FALSE, всё остальное как TRUE, так что if (x == 0) эквивалентно if (x). Выбор варианта зависит от самого программиста или стиля, принятого в команде разработчиков.
4. Небольшой трюк - сравнение вида (0 == x) позволит избежать ошибки при невнимательности, когда вместо (x == 0) оказывается (x = 0).
5. Освойте пост- и пре- инкремент/декремент. Операции x++ и x-- увеличивают и уменьшают число на 1 (кроме указателей), результат - значение x
до изменения. Операции ++x и --x также увеличивают и уменьшают число на 1, но их результат - значение x
после изменения. Для указателей эта операция сдвигает значение на следующий/предыдущий элемент (то есть для int *p операция p++ эквивалентна p = p+sizeof(int)).
char *str = "Привет!";
int len = -1;
while (str[++len]);
printf("Длина строки '%s' равна %d\n", str, len);