[c语言里面的函数递归调用看不懂了]先调用fun(3),fun(3)中调用fun(2),fun(2)中调用fun(1),fun(1)中调用fun(0),此时n=0,,条件不成立,这时开始以一层一层返回,返回到fun(1),fun(1)中第一条调用完了(刚返回的),--n此时n=...+阅读
代码里有一些问题,看注释。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include
intnixu (intn,inta[]);
voidmain()
{
inta[10],i;
printf("please input 10 numbers\n");
for(i=0; i<10; i++)
scanf("%d",&a[i]); /*数组10个元素,最大下标只能到9,a[10]越界;另外a[i]才是需要输入的元素,而不是恒定某一个元素*/
nixu (10, a);
for(i=0; i<10; i++) /*输出数组同样也要循环*/
printf("%d ",a[i]); /*数组10个元素,最大下标只能到9,a[10]越界*/
}
intnixu (intn, inta[]) /*函数定义参数不能和局部变量重名*/
{
inti,k=(n-1)/2,t; /*运算符/比-优先级高,要加括号*/
for(i=0; i<=k; i++)
{ /*逆序过程只要一重循环就可以了*/
t=a[i];
a[i]=a[n-i-1]; /*尾部对应的数组下标要找对*/
a[n-i-1]=t;
}
return0; /*返回随便一个值就可以,调用的地方不需要函数返回值,不能返回数组首地址*/
}
本文地址:https://www.39baobao.com/show/29_16398.html
以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.
以下为关联文档:
c语言递归调用求详解conver('A') { 'A'< 'D' convert('B') //('B' = 'A'+1) { 'B'< 'D' convert('C') //C = B+1 { 'C'<'D' convert('D') { 因为'D'...
C语言指针递归调用怎么搞#include<stdio.h> int main() { void sort(int *p,int n); int i,n; int *p,num[20]; printf("input n\n"); scanf("%d",&n); printf("please input these numbers\n"); for(i=0;...
c语言用递归调用求函数#include<stdio.h> double add (double x,double n)//int 改为double {int N=1,p=-1,q=1,i,j,k; double m=1.0; for(k=1;k<=(2*n-1);k++) N=N*k; for(i=1;i<(2*n-1);i++) //...
易语言怎样调用CMD命令的执行结果啊可以这样: ----------------------------------- 代码1(适合一条一条执行的) 运行 ("cmd /c 代码", 假, ) 例如:运行 ("cmd /c echo ooo", 假, ) ------------------------------------ 代码...
将一个正整数逆序输出C语言#includeintmain(){intnum;scanf("%d",&num);inta,i;for(i=0;num>0;i++){a=num%10;printf("%d",a);num=num/10;}return0;}分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我...
C语言你编程:用递归方法实现对一个整数的逆序输出#include void shiftnumber(int x) { //int temp,i; if(x/10==0) printf("%3d",x); else { printf("%3d",x%10); x/=10; shiftnumber( x); } } int main() { int x; printf("inpu...
C语言求大神指导。从键盘读入一个整数将该整数逆序输出楼上的那个貌似没有调试过吧......稍稍改了一下 #include<cstdio> #include<cstring> int main(){ int i; char s[100]; scanf("%s",s); if(s[0]=='-'){ printf("-"); for(i=str...
从键盘输入10个数存入数组把数组中的元素交换成逆序然后输出# include <stdio.h> int main (void) { printf("请输入数字,数字中间以空格隔开。\n"); int a[10]; char ch; int j = 0; for (int k = 0 ; k < 10 ; k++) { scanf("%d%c" , &a[k]...
输入10个数按输入数据的逆序输入这10个数并输入该数列中的最大/* 倒序输入10个整数(空格隔开) : 10 56 90 23 45 65 77 88 79 23 索引为7的元素最大,这个元素是90。 请按任意键继续. . . */ #include <stdio.h> int main() { int i,max,a[10...