【发布时间】:2020-07-05 06:31:25
【问题描述】:
我的输出字符串需要是输入字符串的回文。它工作得几乎完美,但我对输入字符串的第一个字符有问题,我的新字符串不会打印它(本质上我的新字符串不会打印最后一个字符)。 strrev() 在 Ubuntu 上也不起作用,所以我需要在不使用该函数的情况下执行此操作。
#include <stdio.h>
#include <string.h>
int main(void){
int i,j=0;
char input_str[10];
char new_str[10];
printf("Enter characters:\n");
gets(input_str);
for(i=strlen(input_str)-1;i>0;i--){
new_str[j]=input_str[i];
j++;
}
printf("Output:\n");
printf("%s", new_str);
return 0;
}
【问题讨论】:
-
在循环后添加
new_str[j] = 0;以正确终止字符串。 -
gets()是一个已弃用的函数;请改用fgets()。
标签: c function char reverse c-strings