一道C语言选择题,希望高手给出详细解答!

下面程序的运行结果是( )。
#inelude
void del(char*s)
{ int i,j;
char*a;
a=s:
for(i=0,j=0;a[i]!='\0';i++)
{ if(a[i]>='0'&&a[i]<='9')
{s[j]=a[i];
j++;
}
s[j]='\0';
}
}
main()
{ char*s="aa89gggh";
del(s):
printf("\n%s",s);
}
A.1
B.2
C.3
D.4

我觉得输出的是“89”这个字符串。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-02-15
这根本就个错的程序,char*s="aa89gggh",得到的s指向只读数据;应该是char s[]="aa89gggh";
运行结果见楼上。
第2个回答  2014-02-15
运行结果是:
89
第3个回答  2014-02-15
s是字符串常量,存放在字符串常量区,是不可修改的!
第4个回答  2014-02-15
题目错误,没答案
第5个回答  2014-02-15
结果是89吧
相似回答