第一,如果你没有看错就是你的书错了,只有int和char类型的函数不必声明
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沙湾网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
第二,C中可以不声明函数的条件是3个
1就是上面我说的
2.是被调函数定义在主调函数之前,可不必声明
3函数的外部已声明过了,个个主调函数中不必声明
对于第二点,很好解释,因为声明的目的在于告诉编译器有这么个自定义函数,返回类型是什么,如果被调函数定义在主调函数之前,那么编译器自然就知道了这个函数
你把f2和f1换下位置并去掉声明就明白了
再说一句,写函数声明是编写程序的良好习惯
请注意这是C程序,C官方声明标准编译器是Turboc 2。0
不要把C++的概念强加给C
我不是说VC++6不好,而是说既然是在学C,就要用标准的C编译器,只有标准C编译器才能正确的学习C的基础理论
在C语言中,main函数可被递归调用
在C++标准中,main函数不可以被递归调用
但是许多C++编译器对标准作出了扩展,使得main函数可以被递归调用。
可以用Visual
C++做个实验
1)用/Tc编译器选项(使用C编译器),main可以递归调用
2)用/Tp(编译C++)和/Ze(启用语言扩展),main可以递归调用
3)用/Tp(编译C++)和/Za(禁用语言扩展),
main不可以递归调用
另外,根据我的经验,90%的C/C++书籍作者对C/C++并不是完全了解。只有看经典书籍才能在技术细节上没有错误或模糊。
函数的作用就相当于一台机器,这种机器的作用各不相同。不同的函数能完成不同的特定的功能。就像你放玉米进去,它出来的是爆米花一样。它就对玉米进行处理了。而c语言的函数就是你放入数据,它就会对数据进行处理。
数组的作用就是存储数据的作用。是存储数据的类型的一种。计算机处理的就是数据。存储数据,你说重要不?就像电脑没有内存,它怎么运行啊?
上面是通俗的介绍,补充几点:
1:函数是很重要的,没有函数c语言程序无法运行,包括大多数语言都是这样,因为必须要有一个主函数(main)。
2:函数可以把不同功能的代码独立到一个地方,减少耦合性,提高代码可重用性,增强程序的安全性。
3:不同类型的函数有不同的功能,按照不同分类有不同的叫法。比如库函数是系统自带的“库”,回调函数用于处理操作系统的问题,API函数叫做应用程序接口函数。
加油,越学越明白。
楼主的二元一次方程求解程序大体对的,而且很不错,只有两个小错误,鄙人粗浅修改建议如下:
#includestdio.h
#includemath.h
int
main()
{
double
a,b,c,x;
scanf("%lf%lf%lf",a,b,c);
x=b*b-4*a*c;
if(x=0)
{
if(x0)
printf("x1=%.2lf\nx2=%.2lf",(-b+sqrt(x))/(2*a),(-b-sqrt(x))/(2*a));
/*
将句中的2*a改为(2*a),就是加个括号就好了,否则就是前面整体乘a
*/
if(x==0)
/*
将
x=0
改为
x==0
一个是赋值语句,后面一个是比较语句,别混淆咯,呵呵
*/
printf("x1=x2=%.2lf",(-b+sqrt(x))/(2*a));
}
else
printf("No
answer!");
return
0;
}
不知道是否合适,楼主随便看看吧。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款