// 编写一个程序,要求用户输入一个字符串,然后使用strrev函数将字符串反转,并打印反转后的字符串。 #include #include char *strrev(char *src) { int cnt = 0; while (src[cnt++]) ; char *res = (char *)malloc(cnt * sizeof(char *)); int tmp = cnt; for (int i = 0; i < cnt; i++) { res[i] = src[tmp - 2]; // tmp - 2 是为了去掉换行符, tmp - 1 是为了去掉字符串末尾的 \0 tmp--; } return res; } int main() { char s1[100]; printf("请输入一个字符串: "); fgets(s1, sizeof(s1), stdin); // scanf() 不能接收换行,故改用 fgets() char *s2 = strrev(s1); printf("反转后的字符串结果为: %s", s2); free(s2); return 0; }