输入字符串长度n和字符串,将字符串倒序输出。指针
时间: 2024-12-31 16:18:42 浏览: 47
### 实现字符串逆序打印
为了满足需求,下面提供了一种方法来编写一个 C 语言函数 `reverse_print`,此函数接收两个参数:一个是表示字符串长度的整数 n;另一个是指向字符数组(即字符串)的指针。通过使用指针对字符串进行操作,在不改变原字符串的情况下将其内容按相反顺序逐个字符输出。
```c
#include <stdio.h>
#include <string.h>
void reverse_print(int n, const char* str) {
if (str == NULL || n <= 0) return;
const char* end = str + n - 1;
while(end >= str){
putchar(*end);
end--;
}
}
int main(){
int length;
char input_string[1024];
printf("请输入字符串长度:");
scanf("%d",&length);
getchar(); // 清除缓冲区中的换行符
printf("请输入字符串:\n");
fgets(input_string,sizeof(input_string),stdin);
input_string[strcspn(input_string,"\n")]='\0';//去除fgets读入多余的换行符
if(strlen(input_string)!=length){
fprintf(stderr,"输入的字符串长度与指定长度不符。\n");
return 1;
}
printf("原始字符串:%s\n",input_string);
printf("反转后的字符串:");
reverse_print(length,input_string);
putchar('\n');
return 0;
}
```
上述代码实现了所需功能,并且考虑到了一些边界情况处理[^1]。这里定义了一个名为 `reverse_print` 的新函数用于执行具体的逻辑运算。此外还加入了简单的错误检测机制以确保传入的数据有效性。
阅读全文
相关推荐















