重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
成都创新互联专业为企业提供鹤山网站建设、鹤山做网站、鹤山网站设计、鹤山网站制作等企业网站建设、网页设计与制作、鹤山企业网站模板建站服务,10余年鹤山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
int main()
{
int f(); //子函数的声明
int a=f(); //得到子函数计算的结果(就是调用子函数)
printf("%d",a); //输出a的值
}
int f() //子函数的实现
{
int a; //声明整形变量a
a=1+1; //计算得到a的值
return a; //返回a的值(若不返回,在主函数中不能得到这个值)
}
其中这里有个误区,就是在子函数和主函数中 变量用了一个字母,很容易误导新人以为那是一个变量,其实不然,子函数中的a在函数调用结束就已经不在了,主函数中的a又是另外一个变量。也可以不定义成一样的字母,容易区分一点。
在C语言中,有三个函数可以用来在显示器上输出数据,它们分别是:
puts():只能输出字符串,并且输出结束后会自动换行,在《第一个C语言程序》中已经进行了介绍。
putchar():只能输出单个字符,在《在C语言中使用英文字符》中已经进行了介绍。
printf():可以输出各种类型的数据,在前面的很多章节中都进行了介绍。
printf() 是最灵活、最复杂、最常用的输出函数,完全可以替代 puts() 和 putchar(),大家一定要掌握。前面的章节中我们已经介绍了 printf() 的基本用法,本节将重点介绍 printf() 的高级用法
1 设计阶乘函数。
按照数学定义,对于n的阶乘,如果n为0,则返回1.
否则返回1*2*3*...*n的值。用循环实现。
2 在主函数中输入要求阶乘的值。
3 调用函数计算阶乘。
4 输出结果。
代码:
int fac(int n)
{
int r = 1;
int i;
for(i = 2; i =n; i ++)
r*=i;
return r;
}
int main()
{
int n,r;
scanf("%d",n);
r = fac(n);
printf("%d!=%d\n",n,r);
}
不用说执行fun()函数的结果是3,2,
先是x = 2, y = 3;
x = x + y = 2 + 3 = 5;此时 x= 5, y = 3;
y = x - y = 5 - 3 = 2;此时 x = 5, y = 2;
x = x - y = 5 - 2 = 3;此时x = 3, y = 2;
然后看main()函数中的printf;
注意x = 2, y = 3;是main()函数中的局部变量,当main()函数的}执行完才跳出失效;而fun(x,y);中的
x = 3, y = 2;是fun()函数中的局部变量,在fun()函数执行到}结束的时候就已经不具有意义。所以printf打印的是2,3。所以结果是3,2,2,3
本题考的是你对局部变量的理解。
fun方法参数表示传进来两个整数类型的指针(就是地址)。
x是地址,*x表示x地址中存储的值。
*x=3表示在地址为x的空间中存值3
x就像是取快递时柜子编号,*x就是柜子里的物品。
所以结果是1234