pragma mark 指针综合练习
pragma mark 概念
pragma mark 代码
#include <stdio.h>
#include <string.h> // 计算字符串 长度
int myStrlen(char *str);
int myStrlen2(char *str);
int myStrlen3(char *str);
int main()
{
#warning 要求自己视线strlen函数
char *name = "lyh";
// size_t size = strlen(name); // 系统
// int size = myStrlen(name); // 不使用指针
int size = myStrlen3(name); // 使用指针
printf("size = %lu\n",size);
return 0;
}
int myStrlen3(char *str)
{
int count = 0;
// \0 ascii码 代表 0 // 0代表假 1代表真
/*
l != \0 —————— != 0 为真 ++
y != \0 —————— != 0 为真 ++
h != \0 —————— != 0 为真 ++
*/
/*
while (*str++) {
count++;
}*/
while (*str++) count++; // 省略大括号
return count;
}
// 指针实现效果
int myStrlen2(char *str)
{
int count = 0;
// *str取出对应的字符
// 先去访问 str里面的值 再去++ 进行一下判断
while (*str++ != '\0') {
count++;
// str = str + 1; // str == str[1]
// str ++; // ++可以在变量名前,也可以在变量名后
}
return count;
}
int myStrlen(char *str)
{
int count = 0;
while (str[count] !='\0') {
count ++;
}
return count;
}