看不懂的指针

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:25:15
void delCh( char *p, char ch )
{
int i, j;
for ( i = 0; i<strlen( p ); i++ )
if ( p[ i ] == ch )
{
for ( j = i; j < strlen( p ) - 1; j++ )
p[ j ] = p [ j + 1 ];
p[ strlen( p ) - 1 ] = '\0';
i--;
}
}
看不懂是什么意思,能详细点解释吗

就是如果p[ i ]是要删去的字符,就把他后面的字符向前移一位,并把最后一个字符设为'\0',这样达到删除的目的。不过这样比较慢,我不太喜欢,我比较喜欢懒惰删除,开一个布尔数组记下应该删除字符的位置,打印时只打印布尔值为真的字符就行。

你的笔录有误.例如strlen 英文无此字.delCh不能连在一起.我试着告诉你几个字义.void:空的,无效的. del:是删除的缩写. char:字符型. inj.:是中断
的缩写.请你更正后,说明是何仪表,再解读字符问题.