下列程序的运行结果为( )。 #include void abc(char*str) { int a,b,i,j; for(i=j=0;str[i]!=‘\0’;i++) if(str[i]!

admin2013-02-23  44

问题 下列程序的运行结果为(    )。
    #include
    void abc(char*str)
    { int a,b,i,j;
      for(i=j=0;str!=‘\0’;i++)
           if(str!=‘a’)
               str[j++]=str
      str[j]=‘\0’:
    }
    void main()
    { char str[]=“abcdef”;
      abc(str);
      printf(“str[]=%s”,str);
    }

选项 A、str[]=bcdef
B、str[]=abcdef
C、str[]=a
D、str[]=ab

答案A

解析 本题涉及字符数组和指针两个知识点:①在C语言中,字符数组在存放字符串时会自动在末尾加上‘\0’,所以题中数组str有11个元素;②ptr指向数组str的首地址,ptr+10是指向str[10],*(ptr+10)是引用str[10]的值(即结束符‘\0’)。
转载请注明原文地址:https://jikaoti.com/ti/2Zn0FFFM
0

最新回复(0)