#include<stdio.h> void fun(int a, int b) { if(a==b) printf("%d", a); else fun(a+1,b); } int main() { fun(1, 2); return 0; }
时间: 2024-04-04 07:13:45 浏览: 47
这段代码是一个 C 语言程序,实现的是一个递归函数的示例。
首先,定义了一个名为 fun 的递归函数,该函数接受两个整型参数 a 和 b。如果 a 等于 b,则输出 a 的值。否则,递归调用 fun 函数,并将 a 加 1 作为新的参数传入。
在 main 函数中,调用 fun 函数,将 1 和 2 作为参数传入。
在这个示例中,fun 函数的作用是输出从 a 到 b 之间的所有整数,如果 a 和 b 相等,则只输出一个数。由于 fun 函数是递归调用的,因此在每次调用中都会将 a 加 1,直到 a 等于 b。因此,在本例中,fun 函数将输出 1。
相关问题
#include<stdio.h> void fun (int *a,int *b); int main() { int a,b; scanf("a=%d,b=%d",&a,&b); fun(&a,&b); printf("a=%d b=%d\n",a,b); return 0; } void fun(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp; }c语言
这段代码实现了通过指针将两个变量的值进行交换的功能。首先在主函数中输入两个整数a和b,然后调用fun函数,将a和b的地址作为参数传递给fun函数。在fun函数中,将a所指向的变量值赋给temp,然后将b所指向的变量值赋给a所指向的变量,最后将temp的值赋给b所指向的变量。因此,通过指针操作,成功实现了a和b的值交换。最后在主函数中输出交换后的结果。
#include <stdio.h> void fun(int b) { if(b<9) fun(b+1); printf("%d",b); } void main( ) { int a=5; fun(a); }
这段代码的输出结果为:56789。
代码分析:
1. 在 `main` 函数中,将变量 `a` 赋值为 5。
2. 调用 `fun(a)` 函数,将 `a` 作为参数传递给 `fun` 函数。
3. 在 `fun` 函数中,如果参数 `b` 小于 9,会递归调用 `fun` 函数,并将参数 `b+1` 作为新的参数传递进去。
4. 如果参数 `b` 大于等于 9,则直接输出参数 `b`。
5. 因为在递归调用 `fun` 函数时先输出后递归,所以最后的输出结果为 56789。
阅读全文