C语言字符串反转:代码示例及解析
C语言字符串反转:代码示例及解析
本文将展示如何使用C语言编写程序,实现字符串的反转功能。程序将读取用户输入的字符串,对其进行反转操作,并输出反转后的结果。
代码实现
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i;
// 读取用户输入的字符串
printf('请输入一个字符串:');
scanf('%s', str);
len = strlen(str);
// 反转字符串
for (i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
// 输出反转后的字符串
printf('反转后的字符串为:%s\n', str);
return 0;
}
代码解释
-
头文件包含: 代码开头包含了
<stdio.h>和<string.h>两个头文件。<stdio.h>提供了标准输入输出函数,如printf和scanf。<string.h>提供了字符串操作函数,如strlen。
-
变量声明: 程序声明了三个变量:
str[100]: 用于存储用户输入的字符串,最多可存储 100 个字符。len: 用于存储字符串的长度。i: 用于循环控制。
-
读取输入:
scanf('%s', str)用于从用户输入中读取一个字符串,并将它存储在str数组中。 -
计算长度:
len = strlen(str)使用strlen函数获取字符串的长度,并将结果存储在len变量中。 -
反转字符串:
for循环用于对字符串进行反转。- 循环从
i = 0开始,一直迭代到i < len / 2。 因为我们只需要交换前半部分和后半部分的字符,所以循环的迭代次数为字符串长度的一半。 - 循环内部首先将
str[i]的值存储在temp变量中,然后将str[len - i - 1]的值赋给str[i],再将temp的值赋给str[len - i - 1]。这样就完成了对str[i]和str[len - i - 1]两个字符的交换。
- 循环从
-
输出结果:
printf('反转后的字符串为:%s\n', str)将反转后的字符串输出到屏幕上。
运行示例
输入:
Hello, world!
输出:
!dlrow ,olleH
总结
本文通过 C 语言代码示例展示了字符串反转的实现过程。通过循环遍历字符串并交换前后位置的字符,即可实现字符串的反转。该代码逻辑清晰,易于理解,可供学习参考
原文地址: https://www.cveoy.top/t/topic/nW7L 著作权归作者所有。请勿转载和采集!