📅  最后修改于: 2023-12-03 15:30:15.314000             🧑  作者: Mango
问题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'字符,否则该字符数组不会被视为一个字符串。