问题
单项选择题
下列程序的运行结果为( )。 #include<stdio.h> voidabc(char*str) {int a,b,i,j; for(i=j=0;str[i]!=’\0’;i++) if(str[i]!=’a’) str[j++]=str[j]; 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
解析: 本题考查函数调用时的参数传递。通过函数abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。