Несколько основных недопониманий функции strlen() языка C (надо прочитать экзамен, чтобы не наступить на яму)

Роль функции strlen(): подсчет длины         заданной строки

Функция: Подсчитать количество символов в строке str, исключая '\0'

           То есть, когда встречается символ  '\0' , функция strlen() завершится (\0 не входит в длину)

Примечание. Разница между 0 и «0».              Значение «0» равно 48.

                                        Значение '\0' равно 0, а конец встречи '\0' - это конец встречи 0

                                        Но это не конец случая '0'!

Пример 1: 

#include<stdio.h> 
#include<string.h> 
int main() {
	char s[]="hebeisheng\0\n";
	printf("%d",strlen(s));
	return 0;
}

  Значение '\0' равно 0, а конец встречи '\0' - это конец встречи 0

Таким образом, учитывается только длина до \0

 Пример 2: 

 Если мы добавим '\0' к строке 

#include<stdio.h> 
#include<string.h> 
int main() {
	char s[]="hebeisheng'\0'\n";
	printf("%d",strlen(s));
	return 0;
}

Окончательный результат равен 11, просто добавьте одинарную кавычку перед '\0', встреча с \0 все равно завершит функцию strlen

Пример 3: 

 При использовании функции strlen: обратите внимание на escape-символы, набор escape-символов считается длиной

Приложение: таблица escape-символов

 

Acho que você gosta

Origin blog.csdn.net/weixin_63987141/article/details/129370810
Recomendado
Clasificación