#include<stdio.h>
void fun(int *n)
{
while((*n)--);
printf("%d",*n);
}
int main()
{
int a=10;
fun(&a);
return 0;
}
#include<stdio.h>
/*** 自定义函数
函数名为fun
函数形参为int型指针
***/
void fun(int *n)
{
//while循环先做“解引用”,得到n所指的值,判断是否为真,然后--
//当n--到1时,程序判断为*n==1为真,然后--,即*n=0;下一次循环时*n==0,循环结束,但是*n--后*n=-1;
while((*n)--);
printf("%d",*n);
}
/*** 主函数 ***/
int main()
{
//定义变量a并且初始化为10
int a=10;
//调用构造函数
fun(&a);
//程序结束
return 0;
}
while一直到n为0才停止循环
而--操作在判断之后,停止循环后--还要执行一遍,*n就0-1=-1