#include <stdio.h> #include <string.h> char* reverse(char* s) { int len = strlen(s); for (int i = 0, j = len - 1; i < j; i++, j--) { char tmp = s[i]; s[i] = s[j]; s[j] = tmp; } return s; } int main() { char str[200]; scanf("%s", str); printf("%s", reverse(str)); return 0; } 优化这个代码,使其代码量更小性能更好
时间: 2024-02-06 20:02:59 浏览: 67
#include <stdio.h>
这个代码已经很简洁了,不过还有一些小优化可以做:
1. 可以使用 `size_t` 类型代替 `int` 类型,因为 `strlen` 函数返回的是 `size_t` 类型。
2. 在 `for` 循环中,可以使用前缀自增和后缀自减运算符,让代码更加简洁。
3. 在 `printf` 函数中,可以使用 `%s\n` 代替 `%s`,让输出更加规范。
优化后的代码如下:
```c
#include <stdio.h>
#include <string.h>
char* reverse(char* s) {
size_t len = strlen(s);
for (size_t i = 0, j = len - 1; i < j; ++i, --j) {
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
return s;
}
int main() {
char str[200];
scanf("%s", str);
printf("%s\n", reverse(str));
return 0;
}
```
这样代码更加简洁,性能也更好。
阅读全文