|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
//输入一串字符,然后按其倒序输出;(利用递归)
#include<stdio.h>
#include<string.h>
void result(char a[] , int j );
int main()
{
char win[40]; //保存字符串;
int i;
gets(win);
i=strlen(win); //计算输入字符串的长度;
result(win, i); //把数组和字符串的长度传过去
return 0;
}
void result(char a[] , int j )
{
if(j>=0)
{
printf("%c",a[j]);
j--;
result(a, j);
}
printf("\n");
}(这个程序可行)
//输入一串字符,然后按其倒序输出;(利用递归)
#include<stdio.h>
#include<string.h>
void result(char a[] , int j );
int main()
{
char win[40]; //保存字符串;
int i;
gets(win);
i=strlen(win); //计算输入字符串的长度;
result(win, i); //把数组和字符串的长度传过去
return 0;
}
void result(char a[] , int j )
{
if(j>=0)
{
printf("%c",a[j]);
result(a, j--);
}
printf("\n");
}(这个就不可行,我调试了一下好像是j--未执行)
为什么会出现上面两种情况啊
j--是指先读取再减一,--j是先减一再读取,你这样写的话,就先调用了递归函数才j减一
|
|