阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。 【说明】 在某嵌入式处理器上,编写以下两段程序(编译选项中,存储采用4字节对齐方式)。 程序段1: struct student1{ char name[10]

admin2015-05-21  42

问题     阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。
【说明】
    在某嵌入式处理器上,编写以下两段程序(编译选项中,存储采用4字节对齐方式)。
    程序段1:
    struct  student1{
    char name[10];
    long sno;
    char sex;
    float score[4];
    }*p1,a1,b1;
    程序段2:
    union  student2{
    char name[10];
    long sno ;
    char sex;
    float score[4];
    }*p2,a2,b2;
    汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘子最小,程序要把这n个盘子从A处搬到C处,可以在B处暂存,但任何时候都不能出现大的盘子压在小的盘子上面的情况。
    下列是一段求解汉诺塔问题的C语言程序。
    # include
    void move(int n,char a,char c)
    {
    static int Step=l;
    printf(”Step%2d:Disk%d  %c一一一>%c\n”,Step,n,a,c);
    Step++;
    }
    void Hanoi(int n,char a,char b,char c)
    {
    if(n>1)
    {
    Hanoi(n一1,a,c,b);
    move(n,a,c);
    Hanoi(n一1,b,a,c);
}
    e⊥se move(n,  a,c);
    }
    void main()
    {
    Hanoi(3,‘A’,‘B’,  ‘C’);
    }
  C语言函数的一般格式为:
    <函数类型>  <函数名>  (<参数列表>)
    {
    <函数体>;
    )
    简答下述问题,将答案填写在答题纸中对应栏目。
    (I)<函数类型>的含义是什么?
    (2)<参数列表>的含义是什么?
    (3)C语言函数之间的参数如何传递?

选项

答案 (1)<函数类型>的含义是:函数返回值的类型,无返回值时应写为void; (2)<参数列表>的含义是:函数的接口参数,可以为空,即表示没有参数,但函数名后面的()不能省略。 (3)C语言函数之间的参数传递是传值,是通过栈来传递的。

解析  C语言函数的一般格式为:
    <函数类型>  <函数名>  (<参数列表>)
    {
    <函数体>;
    }
    其中<函数类型>为函数返回值的类型,无返回值时应写void;<参数列表>为函数的接口参数,可以为空,即表示没有参数,但函数名后面的()不能省略。
    C语言函数之间的参数传递是传值,是通过栈来传递的。调用时所有参数在栈中新开辟相应类型的单元并将实参值填入,函数中对参数的任何操作都是对栈中单元的操作,一调用结束,栈中开辟的相应单元都会释放,并不影响实参变量的值。
转载请注明原文地址:https://jikaoti.com/ti/Z6I7FFFM
0

相关试题推荐
最新回复(0)