一氓润、概念
/*
四個知識點
1.任何數(shù)值都有真假性 (1真 0假)
2.++在前 ++在后的特性 (i++ 先獲取之前的值,再自增1 --- ++i 先自增1,在操作)
3.指針+1是加多少 加上指針類型的所占用的字節(jié)(char *p p+1 = p+1 --- int *p p+1 = p + 4)
4.循環(huán)只會執(zhí)行離他最近的一條語句
*/
二、代碼
#include <stdio.h>
#include <string.h>
int myStrlen(char *str);
int myStrlen2(char *str);
int myStrlen3(char *str);
int main()
{
// 要求自己實現(xiàn)strlen函數(shù)
char *name = "lyh";
// size_t size = strlen(name);
// int size = myStrlen(name);
// int size = myStrlen2(name);
int size = myStrlen3(name);
printf("size = %i\n",size);
return 0;
}
int myStrlen3(char *str)
{
int count = 0;
// \0 ASCII碼是0 // 0代表假 1真
while (*str++) count++;
return count;
}
int myStrlen2(char *str)
{
int count = 0;
// *str == str[0]
while (*str++ != '\0') {
count++;
// str = str + 1; // 指針+1 相當于指針類型的+1 str = str[1]
// str++; // ++可以變量名前, 也可以在變量名后
}
return count;
}
int myStrlen(char *str)
{
int count = 0;
while (str[count] !='\0') {
count++;
}
return count;
}
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者