因此,我想要求用户键入一个单词,然后程序将会反转它。这是我的代码,但它不能正常运行。怎么了?使用递归在c中反转字符串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char anadr(int, int, char pin[]);
main()
{
char pin[100];
int l;
int i=0;
char res;
printf("Give word: ");
scanf("%s", pin);
l=strlen(pin);
res=anadr(i,l,pin);
system("pause");
}
char anadr(int i, int l, char pin[])
{
if(i<l)
anadr(i++,l,pin);
printf("%c", pin[i]);
}
究竟是什么问题?我还建议在'main'中返回'0'。 – squiguy
另外你的anadr函数应该是void而不是charas它不返回任何东西。 – Ivo
该程序粉碎。如果我猜对了,问题就在那里: if(i <1) anadr(i ++,l,pin); –