91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
嘉定区| 磐安县| 蓬溪县| 阿拉尔市| 苏尼特左旗| 阿坝| 崇州市| 方城县| 漳平市| 会昌县| 宁强县| 靖江市| 白玉县| 台北市| 颍上县| 通辽市| 林甸县| 莱西市| 泰安市| 雅江县| 邳州市| 合山市| 灵宝市| 耒阳市| 温州市| 股票| 巴青县| 惠州市| 井冈山市| 石家庄市| 陆河县| 金坛市| 壶关县| 赣榆县| 长宁区| 石棉县| 车致| 灵山县| 克什克腾旗| 东乌| 抚松县|