问题 单项选择题

下列程序的运行结果为( )。

#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去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

填空题
判断题