while中的表达式是先判断第一个,如果第一个正确,就会执行第二个,判断第二个,以此类推。如果第一个表达式错误,后面就不会执行判断。
#include <stdio.h>
#include <string.h>
//实现讲字符串多余空格清除,只保留一个空格
void deblank(char string[])
{
char *string1=string;
int i=0,j=0 ,k=0;
while(string1[i]!='\0')
{
string[j]=string1[i];
if(string1[i]==' ')
k=1;
i++;
while(k&&(string1[i]==' '))
{
i++;
}
k=0;
j++;
}
string[j]='\0';
}
int main(int argc, char *argv[])
{
char string[]="sd fs df";
deblank(string);
printf("%s",string);
return 0;
}
#include <string.h>
//实现讲字符串多余空格清除,只保留一个空格
void deblank(char string[])
{
char *string1=string;
int i=0,j=0 ,k=0;
while(string1[i]!='\0')
{
string[j]=string1[i];
if(string1[i]==' ')
k=1;
i++;
while(k&&(string1[i]==' '))
{
i++;
}
k=0;
j++;
}
string[j]='\0';
}
int main(int argc, char *argv[])
{
char string[]="sd fs df";
deblank(string);
printf("%s",string);
return 0;
}