ACM_编程与调试重点记录(十二)

1.关于数组:

#include"stdio.h"

int sum(int a[4[GP1] ])

{

       int i,s=0;

       for (i=0;i<5;i++)

        s+=a[i];

    return s;

 

}

int main()

{

    int array[5],i,k;

    for(i=0;i<5;i++)

    scanf("%d",&array[i]);

    k=sum(array[GP2] );

    printf("%d",k); 

}

运行结果:

1

2

3

4

5

15请按任意键继续. . .

#include"stdio.h"

int sum(int a[],int n[GP3] )

{

       int i,s=0;

       for (i=0;i<n;i++)

        s+=a[i];

    return s;

 

}

int main()

{

    int array[5],i,k;

    for(i=0;i<5;i++)

    scanf("%d",&array[i]);

    k=sum(array,4[GP4] );

    printf("%d",k); 

}

运行结果:

1

2

3

4

5

10请按任意键继续. . .

2.

3

4.比较以下两个程序(自动变量和静态变量):

#include"stdio.h"

void f(int n)

{

       static[GP5]  int s=0;

        s+=1;

    printf("NO.%d: s=%d/n",n,s);

 

}

int main()

{

    int num;

    for(num=1;num<4;num++)

    f(num);

}

运行结果:

 

NO.1: s=1

NO.2: s=2

NO.3: s=3

请按任意键继续. . .

#include"stdio.h"

void f(int n)

{

       static int s=0;

        s+=n[GP6] ;

    printf("NO.%d: s=%d/n",n,s);

 

}

int main()

{

    int num;

    for(num=1;num<4;num++)

    f(num);

}

运行结果:

 

 

NO.1: s=1

NO.2: s=3

NO.3: s=6

请按任意键继续. . .

总结:自动变量的初值在每次分配存储空间后都要重新赋值。

5

6

7

8

#include"stdio.h"

#define R 2.0

#define PI 3.1415926

#define L 2*PI*R

#define S PI*R*R

int main()

{

    //double L,S;[GP7] 

    printf("L=%lf S=%lf",L,S);

}


 [GP1]可要可不要

 [GP2]但是注意:实参一定只能用数组名,括号部分都不能要

 [GP3]增加了一个参数

 [GP4]同时增加了一个实参,常量4

 [GP5]上面是auto,此处为satic,今次不同,结果就大不一样。思考为什么?

 [GP6]相对中间的程序,仅将1改为了n

 [GP7]因为已经通过宏定义过了,故此处不需定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值