更多“有以下程序:void fun(char*a,char*b){ a=b; (*a)++; }main{ char c1='A ',c2='a&#39 ”相关问题
  • 第1题:

    有以下程序: void fun(char*a,char*b) { a=b; (*a)++; } main { char c1=A ,c2=a,*p1,*p2; p1=&c1;p2=*c2;fun(p1,p2); printf("%C%c\n",c1,c2); } 程序运行后的输出结果是( )。

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    函数fun的作用是将指针a指向指针b的内容,然后将该内容加1。执行语句“fun(p1,p2);”后,pl和p2指向的地址并未改变,只是将p2指向的存储单元的值增加l。所以,答案是A。

  • 第2题:

    有以下程序:void fun (char *a,char *b){a=b;(*a)++;}main(){char cl='A',c2='a',*p1,*p2;p1=&am

    有以下程序: void fun (char *a,char *b) { a=b;(*a)++;} main() { char cl='A',c2='a',*p1,*p2; p1=&c1;p2=&c2;fun (p1,p2); printf("%c,%c\n",c1,c2); } 程序运行后的输出结果是( )。

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:经过分析得知fun()函数的功能:将形参a指向形参b所指的存储空间,然后使形参a指向变量的值加1。在主函数中定义了字符型指针变量p1和p2,并让它们分别指向c1和c2。将p1、p2作为实参传递给形参a、b。在fun()函数中,首先让指针变量p1指向p2,然后p1指向的存储空间的值加1,即让变量c2加1为b,而c1的值没有被改变,仍然是A。所以,4个选项中选项A符合题意。

  • 第3题:

    有以下程序:includevoid fun(char *a, char *b){ a=b;(*a)++;}main(){char c1='A',c2=

    有以下程序: #include <stdio.h> void fun(char *a, char *b) { a=b; (*a)++;} main() { char c1='A',c2='a',*p1,*p2; p1=&c1; P2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); } 程序运行后的输出结果是( )。

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:本题中fun函数的形参是两个指向字符型数据的指针,其功能是把b赋给a,然后将a所指存储单元里的变量值加1。在main函数中,p1里存放的是c1的地址,p2里存放的是c2的地址,经函数调用fun(p1,P2)后,p2的值赋给了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1变成了'b',所以此时c2的值为'b',而c1的值没变,仍为'A'。程序改变的是p1的地址和c2的值。

  • 第4题:

    有以下程序:void fun(char* a,char* B) ;{a=b;(*A) ++;}main(){charc1='A',c2='a',*p1,*p2;p1=&a

    有以下程序: void fun(char* a,char* B) ; { a=b; (*A) ++; } main() { char c1='A',c2='a',*p1,*p2; p1=&cl; p2=&c2: fun(p1,p2); printf("%c%c\n",c1,c2); } 程序运行后的输出结果是

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:经过分析得知fun()函数的功能:将形参9指向形参b所指的存储空间,然后使形参a指向变量的值加1。在主函数中定义了字符型指针变量p1和p2,并让它们分另别指向c1和c2.然后将p1、p2作为实参传递给形参a、b.在fun()函数中,首先让指针变量p1向p2,然后p1指向的存储空间的值加1,即让变量c2加1为“b”,而c1的值没有被改变,仍然是“A”。所以,4个选项中选项A符合题意。

  • 第5题:

    设有以下函数:

    voidfun(intn,char}s){……}

    则下面对函数指针的定义和赋值均正确的是( )。

    A.void(*pf)(int,char);pf=&fun;

    B.void+pf( );pf=fun;

    C.void*pf( );*pf=fun;

    D.void(*pf)(int,char*);pf=fun;


    正确答案:D
    函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。