中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C語言中回文字符串的動態內存管理

小樊
82
2024-04-26 17:16:52
欄目: 編程語言

回文字符串是指正讀和倒讀都一樣的字符串,如"level"、"radar"等。下面是一個簡單的C語言程序,使用動態內存管理實現判斷一個字符串是否為回文字符串的功能:

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

int isPalindrome(char *str) {
    int len = strlen(str);
    char *rev = (char *)malloc(len * sizeof(char));
    int i, j;
    
    for (i = 0, j = len - 1; i < len; i++, j--) {
        rev[i] = str[j];
    }
    rev[i] = '\0';
    
    int result = strcmp(str, rev);
    
    free(rev);
    
    if (result == 0) {
        return 1; // 是回文字符串
    } else {
        return 0; // 不是回文字符串
    }
}

int main() {
    char str[100];
    
    printf("輸入一個字符串:");
    scanf("%s", str);
    
    if (isPalindrome(str)) {
        printf("是回文字符串\n");
    } else {
        printf("不是回文字符串\n");
    }
    
    return 0;
}

在上面的程序中,首先定義了一個isPalindrome函數,該函數接受一個字符串作為參數,動態分配內存空間用于存儲字符串的逆序。然后通過比較原字符串和逆序字符串的結果,判斷是否為回文字符串。最后在main函數中調用isPalindrome函數,輸出判斷結果。

需要注意的是在使用完動態分配的內存后,需要使用free函數釋放內存,以避免內存泄漏。

0
罗城| 江津市| 抚顺市| 神池县| 镶黄旗| 谷城县| 平山县| 玛沁县| 长汀县| 进贤县| 新蔡县| 仪陇县| 札达县| 扎鲁特旗| 海盐县| 金溪县| 荣成市| 安丘市| 南涧| 富民县| 隆回县| 浮梁县| 临泉县| 专栏| 绥江县| 玉环县| 长岭县| 林口县| 宜宾县| 铁岭市| 江达县| 英山县| 宜兰县| 巴东县| 平罗县| 临泉县| 云阳县| 五家渠市| 信丰县| 贺州市| 比如县|