C语言的算副

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:04:57
main()
{void outd(long int x); /*void 是什么意思???*/
long int a;
printf("a=?");
scanf("%ld",&a);
if(a<0) a=-a;
outd(a);/* outd (a) 是不是循环到a??*/
}
void outd(long int x)
{
if(x>=10) outd(x/10);/* outd(x/10) 什么意思??*/
printf("%5d",x%10);
}
a=? 12345678
1 2 3 4 5 6 7 8

这个函数没有错
第一个是函数的声明,和函数的定义不一样
函数的声明格式是 类型 函数名( 类型1,类型2......)
函数的定义格式是
类型 函数名( 类型1 参数1,类型2 参数2,....)
{
语句;
}
如果函数定义在主函数main后 必须在主函数声明函数 否则则运行错误
void是表示函数无返回值;而注释1则是函数的声明
注释2是函数的调用,调用outd函数
注释3是函数的递归,在outd函数中调用outd

这个是一个递归函数的例子
outd(x/10) 调用自己本身这个函数 参数是x/10 记住这里是整除

什么??函数里面还可以声明函数吗??

这肯定是一个无法编译成功的程序

1.第二行要把void去掉。
2.程序不完整,缺少函数outd()。