字符串逆序
用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下:
(1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。
调用Inverse()函数将字符串逆序存放,然后在主函数中输出逆序后的字符串。
(2)在子函数Inverse()中实现字符串的逆序存放。函数原型为:
void Inverse(char str[]);
#include<stdio.h>
#define N 81
void Inverse(char str[], int n);
int main(void) {
char str[N];
int n = 0;
printf("Input a string:\n");
gets(str); // 一次性输入字符串
for(n = 0; str[n] != '\0'; n++);
Inverse(str, n);
printf("Inversed results:\n");
puts(str);
}
void Inverse(char str[], int n) {
char temp;
int i, j;
for(i = 0, j = n-1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}