zoukankan      html  css  js  c++  java
  • 【C】Re11 剩下的笔记

    关于字符常量问题:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    void string01 () {
        char * string1 = "Hello C language";
        printf("%s
    ", string1);
        // string1[2] = 'A'; 修改无效
        printf("%s
    ", string1);
    
        char string2[] = "Hello C language"; // 字符数组
        printf("%s
    ", string2);
        string2[2] = 'A';
        printf("%s
    ", string2);
    }
    
    int main() {
        string01();
        return 0;
    }

    纠正数组排序的函数封装,搞懂原因:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    // 选择法排序
    void selectSorting() {
        // 样例数组
        int array[] = {1, 10, 8, 5, 9, 3, 6, 4, 2, 7};
    
        const int SIZE = sizeof(array) / sizeof(*array); // sizeof(array[0])  sizeof(int)
    
        for (int i = 0; i < SIZE; ++i) {
            printf("[%d]	", array[i]);
        }
    
        printf("
     - - - - - - - - - - -
    ");
    
        // -----------------------------------------------
    
        int temp;
    
        for (int j = 0; j < SIZE - 1; ++j) {
            for (int i = j + 1; i < SIZE; ++i) {
                if (array[j] > array[i]) {
                    // swap
                    temp = array[j];
                    array[j] = array[i];
                    array[i] = temp;
                }
            }
        }
    
        for (int i = 0; i < SIZE; ++i) {
            printf("[%d]	", array[i]);
        }
    
        printf("
    ");
    }
    
    // 封装的函数
    void selectSorting2(int * array, int size) {
        // 转换为指针之后无法获取数组的个数信息, 只能用形参注入进来
        int temp; // 临时变量 交换用
        for (int i = 0; i < size - 1; ++i) {
            for (int j = i + 1; j < size; ++j) {
                if (array[i] > array[j]) {
                    temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }
    }
    void printArray(int * array, int size) {
        printf("[");
        for (int i = 0; i < size; ++i) {
            if (i == size - 1) {
                printf("%d]", array[i]);
                break;
            }
            printf("%d,", array[i]);
        }
        printf("
    ");
    }
    
    void test() {
        int array[] = {1, 10, 8, 5, 9, 3, 6, 4, 2, 7};
        const int SIZE = sizeof(array) / sizeof(*array);
        printArray(array, SIZE);
        selectSorting2(array, SIZE);
        printArray(array, SIZE);
    }
    
    int main() {
        // selectSorting();
        // test();
        return 0;
    }
  • 相关阅读:
    生产环境之Nginx高可用方案
    MySQL主从同步配置
    SpringBoot整合MyBatisPlus配置动态数据源
    循环有序数组,查找值
    数组任意取三个数中乘积最大值
    多线程输出123以及有序输出1-75
    有序数组取中值
    RocketMQ原理及源码解析
    docker基础常用命令
    项目常用命令
  • 原文地址:https://www.cnblogs.com/mindzone/p/13963187.html
Copyright © 2011-2022 走看看