- 论坛徽章:
- 0
|
这是大名鼎鼎的《C程序设计语言(第二版)》里面的一个题目。
我自己写了代码,然后看该书配套的习题解答,感觉我的代码和他的代码差别有点大:
我的代码:- #include <stdio.h>
- #include <string.h>
- void reverse(char *str, int length);
- int main()
- {
- char *str = "1234567890";
- reverse(str, strlen(str));
- printf("\n");
- return 0;
- }
- void reverse(char *str, int length)
- {
- if (length > 1) {
- printf("%c", str[length - 1]);
- reverse(str, length - 1);
- } else
- printf("%c", str[0]);
- }
复制代码 而书上的参考代码:
- void reverse(char s[])
- {
- void reverser(char s[], int i, int len);
- reverser(s, 0, strlen(s));
- }
- void reverser(char s[], int i, int len)
- {
- int c, j;
- j = len - (i + 1);
- if (i < j) {
- c = s[i];
- s[i] = s[j];
- s[j] = c;
- reverser(s, ++i, len);
- }
- }
复制代码 感觉我自己写的代码更简单一些,但是由于我是代码新手,所以,不知道自己写的这个程序到底
(1)好不好?
(2)有没有问题?
谢谢高手指正。 |
|