📜  C测验– 109 |问题4(1)

📅  最后修改于: 2023-12-03 15:30:15.314000             🧑  作者: Mango

C测验 – 109 | 问题4

问题4是一道关于C语言中字符数组的问题。这道题目通常考察程序员对于字符数组的理解和使用。

问题描述

以下是问题描述:

编写一个函数reverse_string(char *str),将一个字符串倒序输出。例如,对于输入字符串:"hello, world!",输出为:"!dlrow ,olleh"。

解题思路

这道题目的核心是将一个字符串倒序输出,即需要从字符串的最后一个字符开始依次输出每个字符。我们可以使用一个循环来实现这个过程,将输出每个字符的操作放在循环内部。

具体来说,我们可以先计算出字符串的长度(不包含字符串末尾的字符'\0'),然后从字符串的最后一个字符开始依次输出每个字符。示例代码如下:

void reverse_string(char *str) {
    int len = strlen(str);
    for (int i = len-1; i >= 0; i--) {
        printf("%c", str[i]);
    }
    printf("\n");
}

这个函数接受一个字符指针作为参数,输出该字符串的倒序字符串。其中,strlen函数用于计算字符串长度,for循环倒序输出每个字符,并添加了一个换行符。

可以通过以下方式调用该函数:

char str[] = "hello, world!";
reverse_string(str);

输出结果为:

!dlrow ,olleh
总结

通过本问题的解答,我们了解了如何在C语言中实现一个字符数组的倒序输出操作。需要注意的是,字符数组的末尾必须包含一个'\0'字符,否则该字符数组不会被视为一个字符串。