以下C程序段的输出结果是(30)。    #include <stdio. h>    void abc(char *str){   int a, b;        for(a=b=0;str[a]!='\O';a++)if(str[a]!='c')    str[b++]=str[a];        str[b]='\O';    }    void main(){   char str[]="abcdef";        abc(str);        printf("str[]=%s",str);    }
【正确答案】 C
【答案解析】解析:本试题核心在于子函数的for循环。For循环将整个字符串中的字符处理一遍,每次处理时,函数的基本工作是将除字母c之外的字符重新赋值,然后a++,b++,继续处理下一个字符。对于字母c不赋值,且只有a++而b不变。可见for循环的目的只是将字母c剔除。