Ответ 1
Проверьте, является ли первый символ "\ 0". Вероятно, вы также должны проверить, является ли ваш указатель NULL.
char *c = "";
if ((c != NULL) && (c[0] == '\0')) {
printf("c is empty\n");
}
Вы можете поместить обе эти проверки в функцию, чтобы сделать ее удобной и легкой для повторного использования.
Изменить: В инструкции if можно прочитать так: "Если c не равен нулю, а первый символ символьного массива" c "не равен" \0 "или нулю, тогда...".
&&
просто объединяет два условия. Это в основном как сказать это:
if (c != NULL) { /* AND (or &&) */
if (c[0] == '\0') {
printf("c is empty\n");
}
}
Вы можете захотеть получить хорошую книгу программирования C, если вам это не ясно. Я мог бы порекомендовать книгу под названием "Язык программирования C".
Самая короткая версия, эквивалентная приведенному выше, будет:
if (c && !c[0]) {
printf("c is empty\n");
}