字符串函数:字符串函数strlen

2020-11-05  本文已影响0人  爱生活_更爱挺自己

string.h

strlen

#include<stdio.h>
#include<string.h>

int main(int argc, char const *argv[])
{
    char line[] = "Hello";
    printf("strlen=%lu\n", strlen(line));
    printf("sizeof=%lu\n", sizeof(line));
    
    return 0;
}
strlen=5
sizeof=6
#include<stdio.h>
#include<string.h>

int mylen(const char* s)
{
    int cnt = 0;
    int idx = 0;
    while (s[idx] != '\0'){
        idx++;
        cnt++;
    }
    return cnt;
}

int main(int argc, char const *argv[])
{
    char line[] = "Hello";
    printf("strlen=%lu\n", mylen(line));
    printf("sizeof=%lu\n", sizeof(line));
    
    return 0;
}

strcmp

#include<stdio.h>
#include<string.h>

int main(int args, char const *argv[])
{
    char s1[] = "abc";
    char s2[] = "abc";
    printf("%d\n", s1==s2);
    printf("%d\n", strcmp(s1,s2));
}
会报warning
0
0
#include<stdio.h>
#include<string.h>

int main(int args, char const *argv[])
{
    char s1[] = "abc";
    char s2[] = "bbc";
    printf("%d\n", strcmp(s1,s2));
}
-1
#include<stdio.h>
#include<string.h>

int main(int args, char const *argv[])
{
    char s1[] = "abc";
    char s2[] = "Abc";
    printf("%d\n", strcmp(s1,s2));
    printf("%d\n", 'a'-'A');
}
32
32
#include<stdio.h>
#include<string.h>

int mycmp(const char* s1, const char* s2)
{
    int idx = 0;
    while (1){
        if (s1[idx] != s2[idx]){
            break;
        } else if s1[idx] == '\0'){
            break;
        }
        idx++;
    }
    return s1[idx] - s2[idx];
}

int main(int args, char const *argv[])
{
    char s1[] = "abc";
    char s2[] = "abc ";
    printf("%d\n", mycmp(s1,s2));
    printf("%d\n", 'a'-'A');
}
-32
32
#include<stdio.h>
#include<string.h>

int mycmp(const char* s1, const char* s2)
{
    int idx = 0;
    while (s1[idx] == s2[idx] && s1[idx] != '\0'){
       
        idx++;
    }
    return s1[idx] - s2[idx];
}

int main(int args, char const *argv[])
{
    char s1[] = "abc";
    char s2[] = "abc";
    printf("%d\n", mycmp(s1,s2));
    printf("%d\n", 'a'-'A');
}
0
32
#include<stdio.h>
#include<string.h>

int mycmp(const char* s1, const char* s2)
{
    while (*s1 == *s2 && *s1 != '\0'){
        s1++;
        s2++;
    }
    return s1[idx] - s2[idx];
}

int main(int args, char const *argv[])
{
    char s1[] = "abc";
    char s2[] = "abc";
    printf("%d\n", mycmp(s1,s2));
    printf("%d\n", 'a'-'A');
}
上一篇 下一篇

猜你喜欢

热点阅读