自定义函数是由用户按需要写的函数。这与库函数相对应的,库函数是由c系统提供的函数,已经定义好了如printf
创新互联-专业网站定制、快速模板网站建设、高性价比永靖网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永靖网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永靖地区。费用合理售后完善,十余年实体公司更值得信赖。
、
scanf
、
getchar
、putchar、gets、puts、strcat等函数均属此类。
说白了,自定义函数是是自己写的,想实现什么功能就写什么,然后在用的时候和库函数(系统定义的)的一样调用就是了,相当于自己增加了一个自己的库函数。
首先 这个 答案 是错的 ,
这样写 会直接 segmentation fault 先给你解释下
char *s1="abc"; 编译器会先 把 “abc” 这个 字符串 放到 ”常量区“ (值不能改) ,
在 分配一个 指针 s1 指向 “abc” 的 开头 也就是 ‘a’ 这个 字符 ,
那就是了 swap() 要改 常量区 的 东西 , 所以 会直接 segmentation fault
现在 把 char *s1="abc" 改成 char s1[]="abc"; 或者 假设 那个 内存可读
然后说后面的
刚才讲了 指针 只能 指向一个 地址 也就是 只能指向 一个 ‘点’
所以 s1 其实 是 指向 ‘a’ 这个 字符 *s1 操作的其实 是 ‘a’ 这个 字符
所以 第一个 字符 互相 交换了
第一题的判断错了:if((a+bc)||(a+cb)||(b+ca)) == if((a+bc)(a+cb)(b+ca)) //任意两边之和都得大于第三边,一个不满足都不行
第二题的jjc函数是错的也没有用,还带来了你这个错误的写法mkj=jjc(m-k);==mkj=jjc(m,k);组合计算公式里每一项都是累积,一个jcc就够了。如果没有jjc则mkj=jjc(m-k);==mkj=jcc(m-k);也是可行的
#includestdio.h
#define pi=3.14;
void main()
{
float area(float r1);
float length(float r2);
float r,a,l;
printf("Please input the radius:\n");
scanf("%f",r);
a=area(r);
l=length(r);
printf("The area is %f:\n",a);
printf("The length is %f\n",l);
}
float area(float r1)
{
float x;
x=pi*r1*r1;
return(x);
}
float length(float r2)
{
float y;
y=2*pi*r2;
return(y);
}
呵呵...我那全局变量都忘了,也不知道对不,你那个pi也可以改精确点
#include stdio.h
#include math.h
double mypow(double x, int n){
double y=1.0;
int i;
if (n==0) return 1.0;
if (n0) {printf("Err: n must 0\n"); return 0;};
for (i=0;in;i++) y=y*x;
return y;
}
int main()
{
int i,n;
double x,y=0;
printf("input x: "); scanf("%lf",x);
printf("\ninput n: "); scanf("%d",n);
for (i=1;i=n;i++) y = y + 1.0 / mypow(x,i);
printf("y=%g\n",y);
return 0;
}