字符串操作1

时间:2021-01-01 14:42:53

假设我在一个函数中想把一个字符串中的所有非字符变成#号(先不考虑可不可以改变传入参数),具体void fun(char input[], char output[])。

有一下俩种实现:

void fun1(char input[],.....)

{

...............

for (i=0;i<len_input;i++) 

   

        if (!isalpha(input[i[)) 

             input[i]=',';   

}


void fun2(char input[]....)

{

if(!isalpha(*input))
{
*input = ',';
input++;
}else
input++;
}


俩者都改变了输入参数,但也达到了目的,重大差别是fun2后input就不再指向字符串头部了,不利于下面操作。所以若喜欢fun2形式,可以先char *p = input,然后对

p操作就好了,虽然本质上是一样的!