ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

《C和指针》学习笔记[第9章 字符串、字符和字节]

2022-07-20 10:35:30  阅读:111  来源: 互联网

标签:include 字节 ++ char length num 字符串 指针 string


1.

#define CHAR_SIZE 100
#define NUL '\0'

int main(void){
    char string[CHAR_SIZE];
    fgets(string, sizeof(string)/sizeof(string[0]), stdin);
    
    double string_length;
    int char_num[7] = {0};
    
    string_length = strlen(string);
    
    char *p = string;
    
    while (*p != NUL) {
        if (iscntrl(*p)) {
            char_num[0]++;
        }
        if (isspace(*p)){
            char_num[1]++;
        }
        if (isdigit(*p)){
            char_num[2]++;
        }
        if (islower(*p)){
            char_num[3]++;
        }
        if (isupper(*p)){
            char_num[4]++;
        }
        if (ispunct(*p)){
            char_num[5]++;
        }
        if (!isprint(*p)){
            char_num[6]++;
        }
        p++;
    }
    
    printf("string_length = %.0f\n", string_length);
    printf("cntrl = %d, space = %d, digit = %d, lower = %d, upper = %d, punct = %d no_print = %d\n",
           char_num[0], char_num[1], char_num[2], char_num[3], char_num[4], char_num[5], char_num[6]);
    return EXIT_SUCCESS;
}

2.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <stdarg.h>
#include <ctype.h>
#include "t_c.h"

#define CHAR_SIZE 100
#define NUL '\0'



size_t my_strlen(char *p, int length){
    size_t r_length;
    for (r_length = 0 ; r_length < length; r_length++) {
        if (p[r_length] == NUL) {
            break;
        }
    }
    return r_length;
}


int main(void){
    char string[CHAR_SIZE] = "123456";
    
    printf("%lu\n", my_strlen(string, 10));
    
    return EXIT_SUCCESS;
}

3.

 

标签:include,字节,++,char,length,num,字符串,指针,string
来源: https://www.cnblogs.com/sidianok/p/16496929.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有